我有一个 django View ,其中包含一个简单的表单和一个链接表。该表单有一个下拉框,链接的查询参数应包含下拉列表的值。例如,如果下拉列表有选项 1、2 和 3,并且选择了 2,则表格前三行中的链接目标应如下所示:
/preview/first?other_arg=somevalue&choice=2
/preview/second?different=argument&choice=2
/preview/third?choice=2
除了 arg=2
之外的所有内容都是为每行预定义的。
在我看来,有两种方法可以做到这一点。我可以在下拉值更改时重新创建所有链接,也可以在单击链接时创建链接。我一直在尝试通过第二种方法来做到这一点,但我无法让它工作(即,当我单击链接时没有任何反应)。我创建了一个 fiddle 来显示我的测试代码: http://jsfiddle.net/LcY8c/4/
这是最好的方法吗?有人能指出我哪里出错了吗?
最佳答案
我稍微改变了你的 fiddle 。将 id 更改为 class,并将 jQuery 从单击事件更改为更改事件。这是您要找的吗?
http://jsfiddle.net/Grevling/LcY8c/17/
<div>
<select id="choiced">
<option choice="1">1</option>
<option choice="2">2</option>
<option choice="3">3</option>
</select>
</div>
<div>
<a class="link" base="/link1" href="#">link1</a>
<a class="link" base="/link2?arg1=1" href="#">link2</a>
<a class="link" base="/link3?arg1=other" href="#">link3</a>
</div>
脚本:
$(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);
});
});
});
关于javascript - 使链接目标取决于表单值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16055909/