我在选择带变量名称的下拉列表时遇到问题:
var dropDownOption = 2;
$([name='dropdownName'] option:eq("+ dropDownOption +")).attr('selected', true);
问题出在哪里?
由于
答案 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 );