Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使链接目标依赖于表单值_Javascript_Jquery_Django - Fatal编程技术网

Javascript 使链接目标依赖于表单值

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>之外的所有内容都是为每

我有一个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>之外的所有内容都是为每行预定义的

在我看来,有两种方法可以做到这一点。我可以在下拉列表值更改时重新创建所有链接,也可以在单击时创建链接。我一直试图通过第二种方法来完成,但我无法让它工作(即,当我点击链接时,什么也没有发生)。我创建了一个小提琴,显示我的测试代码:


这是最好的方法吗?有人能指出我错在哪里吗?

您使用了三次相同值的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);
        });
    });
});