使用jquery动态选择下拉框中的选项

时间:2014-10-23 13:53:24

标签: jquery html

我有一个给定的下拉框。

<select id="selector_states">
    <option value="kl">Kerala</option>
    <option value="tn">Tamil Nadu</option>
    <option value="ka">Karnataka</option>
    <option value="ap">Andhra Pradesh</option>
</select>

我需要在下拉框中找到带有选项值的文本。那是我有&#34; kl&#34;和我在变量中说

var state_code="kl"

使用此我需要在选择框中找到文本。我是一名python开发人员,我对jquery不太熟悉。有人可以帮我找到解决方案吗?

5 个答案:

答案 0 :(得分:2)

将您的变量传递给.val()方法。 jQuery处理剩下的事情:

var state_code = 'kl';
$('#selector_states').val(state_code);

注意,您在这里看不到任何差异,因为kl无论如何都是默认选项。

JSFiddle

答案 1 :(得分:0)

你可以这样做:

var option = $("#selector_states option[value=" + state_code + "]");

这将为您提供存储在state_code

中的匹配值的选项

答案 2 :(得分:0)

这是你要问的吗?

var stateCode = "kl";
var result = $("#selector_states").find("option[value=" + stateCode + "]").text();
alert(result);

以上是做什么的:

  • 找到id为select_states // $(“#selector_states”)的元素(注意:这会返回jQuery对象)
  • 从其子DOM元素中找到选项一个,并且属性等于这个 $(jQuery对象).find (“选项 [ = thisOne ](在这种情况下,这个是stateCode变量。
  • 找到此元素并获取其 text()(或者您可以输入html),例如:< html元素&gt; 我是文字 { {1}},其中html元素可以是</html element><div><ul>等。

如果你不熟悉我上面写的东西,我建议你阅读一些关于DOM树的内容以及如何使用javascript来操作它。 (最多需要10分钟)

我建议https://developer.mozilla.org/en-US/docs/Web/API/Document_Object_Model/Introduction

请记住上面链接中的示例都是纯粹的javascript,jQuery在幕后做同样的事情,只是糖语法化了:)(并记住$('html element')正在使它成为jQuery对象!(你可以像我们上面所做的那样链接函数$(“#selector_states”)将我们的DOM元素转换为jQuery对象。现在jQuery对象已经实现了 .find ... ..( .text ())。

答案 3 :(得分:0)

// Select by value
$('select[name="options"]').find('option[value="3"]').attr("selected",true);

// Select by text
//$('select[name="options"]').find('option:contains("Third")').attr("selected",true);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<html>
<body>
<select name="options">
      <option value="1">First</option>
      <option value="2">Second</option>
      <option value="3">Third</option>
</select>
</body>
</html>

答案 4 :(得分:-1)

这样做

警报($(&#39; selector_states&#39;。)VAL());