jQuery按名称选择下拉列表

时间:2014-07-10 17:40:14

标签: jquery jquery-selectors

我在选择带变量名称的下拉列表时遇到问题:

var dropDownOption = 2;
$([name='dropdownName'] option:eq("+ dropDownOption +")).attr('selected', true);

问题出在哪里?

由于

5 个答案:

答案 0 :(得分:1)

它应该是这样的:

$("[name='dropdownName'] option:eq("+dropDownOption+")").attr('selected', 'selected');

或:

$("[name='dropdownName'] option:eq("+dropDownOption+")").prop('selected', true);

答案 1 :(得分:0)

你错过了引号。

$("[name='dropdownName'] option:eq("+ dropDownOption +")").attr('selected', true);

答案 2 :(得分:0)

字符串周围缺少引号:

$("[name='dropdownName'] option:eq("+ dropDownOption +")").prop('selected', true);

您还可以使用eq方法:

$("[name='dropdownName'] option").eq(dropDownOption).prop('selected', true);

除非您使用多选,否则您只需设置元素的选定索引:

$("[name='dropdownName']")[0].selectedIndex = dropDownOption;

答案 3 :(得分:0)

你的报价搞砸了,应该是:

$("[name='dropdownName'] option").eq(dropDownOption).attr('selected', true);

答案 4 :(得分:0)

如果下拉列表的名称是变量,则选择器将如下行所示:

$('selecct[name=' + dropdownName + ']').children('option').eq( dropDownOption )
.prop( 'selected', true );  

如果那只是简写,那么使用:

$("select[name='dropdownName']").children('option').eq( dropDownOption )
.prop( 'selected', true );