2012-04-25 75 views
1

我在未来与我的按钮正确的window.location.href值的问题。只是让你知道这是在所有页面上动态完成的。所以我想要做的是去当前模块控制器中驻留的addnew函数。例如,假设用户在标题模块(文件夹)中,并且在我想要的标题控制器中去标题(模块)/标题(控制器)/ addnew(方法),但这只是一个例子。它适用于这个例子不过说我去到不同的网页说的标题模块,woudld被封号(模块)/ titleStatuses(控制器),如果我点击相同的按钮它woudl去的标题(模块)/标题内titleStatuses控制器(控制器)/的AddNew(方法)。动态链接不指向正确

$('.addnew').append('<button>Add New</button>').css('float', 'right').css('margin', '5px 0 0 10px').css('padding-right', '10px'); 
$('.addnew button').css('width', '100px').click(function() { 
    window.location.href = 'addnew'; 
    return false; 
}); 

回答

2

试试这个:

window.location.href = window.location.href+'addnew'; 

上的链接href值将添加到现有的URL,这是什么,似乎你想要做的事。但是,通过Javascript设置URL时,“addnew”与“/ addnew”相同,与“http://domain.com/addnew”相同。

使用上述的方法(它在URL的结尾呈现结尾的斜线)的附加功能的AddNew到当前URL的其余部分。

+0

这就是完美。很好的答案!谢谢。 – 2012-04-25 21:35:32

0

我通常在我的头一个脚本,让我用URL helper功能的JavaScript。你当然需要加载助手。

<script> 
    var base_url = <?=base_url()?> 
    var current_url = <?=current_url()?> 
</script> 

针对您的特殊jQuery的功能,您可以用click绑定事件:

$('.addnew button').css('width', '100px').click(function() { 
    window.location.href = current_url + '/addnew'; /* or something similar */ 
    return false; 
});