Javascript 使链接目标依赖于表单值
我有一个django视图,它包含一个简单的表单和一个链接表。表单有一个下拉框,链接的查询参数应该包含下拉框的值。因此,例如,如果下拉列表中有选项1、2和3,并且选择了2,那么表的前三行中的链接目标应该如下所示:Javascript 使链接目标依赖于表单值,javascript,jquery,django,Javascript,Jquery,Django,我有一个django视图,它包含一个简单的表单和一个链接表。表单有一个下拉框,链接的查询参数应该包含下拉框的值。因此,例如,如果下拉列表中有选项1、2和3,并且选择了2,那么表的前三行中的链接目标应该如下所示: /preview/first?other_arg=somevalue&choice=2 /preview/second?different=argument&choice=2 /preview/third?choice=2 除了arg=2的arg>之外的所有内容都是为每
/preview/first?other_arg=somevalue&choice=2
/preview/second?different=argument&choice=2
/preview/third?choice=2
除了arg=2的arg>之外的所有内容都是为每行预定义的
在我看来,有两种方法可以做到这一点。我可以在下拉列表值更改时重新创建所有链接,也可以在单击时创建链接。我一直试图通过第二种方法来完成,但我无法让它工作(即,当我点击链接时,什么也没有发生)。我创建了一个小提琴,显示我的测试代码:
这是最好的方法吗?有人能指出我错在哪里吗?您使用了三次相同值的id属性。Id属性应该是唯一的
<a id="link" base="/link1" href="#">link1</a>
<a id="link" base="/link2?arg1=1" href="#">link2</a>
<a id="link" base="/link3?arg1=other" href="#">link3</a>
您正在使用具有相同值的id属性3次。Id属性应该是唯一的
<a id="link" base="/link1" href="#">link1</a>
<a id="link" base="/link2?arg1=1" href="#">link2</a>
<a id="link" base="/link3?arg1=other" href="#">link3</a>
我把你的小提琴改了一点。将id更改为类,并将jQuery从单击事件更改为更改事件。你要找的是这个吗
我把你的小提琴改了一点。将id更改为类,并将jQuery从单击事件更改为更改事件。你要找的是这个吗
不完全一样-我只想在单击链接时打开弹出窗口,我想这意味着以某种方式将函数连接到类而不是id?我更新了代码,将值添加到链接中,希望这是您现在正在寻找的:)不同的方法,但它符合我的要求!唯一需要更改的是,它应该将其写入href
,而不是base
,我需要它使用有效链接(即不是#
)进行初始化,但我应该能够解决其余问题。不完全是-我只希望在单击链接时打开弹出窗口,我想这意味着以某种方式将函数连接到类而不是id?我更新了代码,将值添加到链接中,希望这是您现在正在寻找的:)不同的方法,但它实现了我想要的!唯一需要更改的是,它应该将其写入href
,而不是base
,我需要它使用有效链接(即不是#
)进行初始化,但我应该能够完成其余的工作。谢谢-现在你提到它,这很明显,但我不知道!谢谢-现在你提到这件事有点明显,但我不知道!
$(document).ready(function () {
$("#choiced").change(function () {
var reportType = $('#choiced').val();
var link = $('a').attr('base') + '&choice=' + reportType;
$("a").each(function (index) {
$(this).attr("base", $(this).attr("base") + '&choice=' + reportType);
});
});
});