我想知道;如何向此脚本添加目标数组?
$(document).ready(function () {
$('#kategorierbuttons').click(function(e)
{
var num = $(e.target).index() + 1;
$('option:nth-child(' + num + ')', '#kategorier_content1').attr('selected', 'selected');
});
});
其中“#kategorier_content1”是函数的目标,它是调用函数时发生变化的内容。我想将更多目标配对(例如,它们以完全相同的方式更改)更多目标到该函数中,即(非功能脚本仅用于演示我想要的要点):
$(document).ready(function () {
$('#kategorierbuttons').click(function(e)
{
var num = $(e.target).index() + 1;
$('option:nth-child(' + num + ')', '#kategorier_content1', '#kategorier_content2').attr('selected', 'selected');
});
});
不幸的是,我对 javascript 的了解并不多,无法涵盖这一点,因此我寻求帮助。任何帮助将不胜感激。
这是一个 fiddle :http://jsfiddle.net/SEqZG/46/
目标是让两个下拉菜单根据功能表现相同,而不仅仅是顶部菜单。
最佳答案
您应该为每次点击
更改这两个选项。
像这样:
$(document).ready(function () {
$('#kategorierbuttons').click(function(e)
{
var num = $(e.target).index() + 1;
$('option:nth-child(' + num + ')', '#kategorier_content1').attr('selected', 'selected');
$('option:nth-child(' + num + ')', '#kategorier_content2').attr('selected', 'selected'); //One extra line, but what if there are many?
});
});
<强> DEMO
但是,如果您的数组的元素以 id 开头,该怎么办?
然后您必须使用此选择器选择元素:
element_type[attribute^="value"]
阅读此处: Attribute Starts With Selector
然后你可以这样做:
$(document).ready(function () {
$('#kategorierbuttons').click(function(e)
{
var num = $(e.target).index() + 1;
$('select[id^="kategorier_content"]').find('option:nth-child(' + num + ')').attr('selected', 'selected');
});
});
<强> DEMO
关于javascript - JavaScript 函数的目标数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24783092/