我遇到了一个问题,我的按钮的window.location.href值正确。只是让你知道这是在所有页面上动态完成的事情。所以我想要它做的是转到它们当前所在的当前模块控制器中的addnew函数。比如说用户在titles模块(文件夹)和titles控制器中我想要它转到标题(模块)/标题(控制器)/ addnew(方法),但这只是一个例子。它适用于这个例子但是说我去了一个不同的页面说titleStatuses控制器里面的标题模块woudld是标题(模块)/ titleStatuses(控制器)如果我点击相同的按钮它woudl去标题(模块)/标题(控制器)/的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;
});
答案 0 :(得分:2)
试试这个:
window.location.href = window.location.href+'addnew';
链接上的href值将添加到现有URL,这是您正在尝试执行的操作。但是,通过Javascript设置URL时,“addnew”与“/ addnew”相同,与“http://domain.com/addnew”相同。
使用上面的方法(假设URL末尾有一个斜杠)将addnew函数附加到当前URL的其余部分。
答案 1 :(得分:0)
我的标题中通常有一个脚本,允许我在JavaScript中使用URL helper函数。你当然需要加载助手。
<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;
});