根据节点值在下拉菜单中选择一个选项?

有没有办法根据节点值在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不同…

http://jsbin.com/ikibi3/2

 myselect="Magic Kingdom"; $("select[name='ddlProperty'] option").each(function() { if($(this).text() == myselect) { $(this).attr('selected', true); } else { $(this).attr('selected', false); } });