根据节点值在下拉菜单中选择一个选项?
有没有办法根据节点值在jQuery(或Javascript)中设置下拉列表的值?
Animal Kingdom Epcot Hollywood Studios Magic Kingdom Downtown Disney
我需要设置神奇王国的选项,所以类似于:
$("#ddlLocation").val("Magic Kingdom")
因此,神奇王国将成为所选项目,但不会按预期工作。 有任何想法吗?
如果您可以使用该值 (不是文本!),请使用.val()
执行此操作:
$("#ddlProperty").val("5");
如果没有,请使用.filter()
和.attr()
来查找和设置所选的 ,如下所示:
$("#ddlProperty option").filter(function() { return $(this).text() === "Magic Kingdom" }).attr('selected', true);
就像是:
var box = document.getElementById('box'), options = box.options; for(var i = 0; i < options.length; ++i){ if(options[i].text == val){ options[i].selected = true; } }
$("#ddlProperty > option").each(function(i, elem) { if($(elem).text() == "Magic Kingdom") { $('#ddlProperty').val(elem.value); return false; } });
下次请在元素具有id并且ID与代码中的ID匹配的情况下做一个正确的示例。 我花了大约5分钟检查错误,直到我注意到ID不同…
myselect="Magic Kingdom"; $("select[name='ddlProperty'] option").each(function() { if($(this).text() == myselect) { $(this).attr('selected', true); } else { $(this).attr('selected', false); } });