JQuery在<select>

时间:2016-08-16 03:32:35

标签: javascript jquery html

&lt; select name =“InputSource”class =“required page_basic”style =“margin-left:23%”form =“broadcastform”&gt;         &lt; option value =“”&gt;广播输入&lt; / option&gt;         &lt; option value =“0”&gt; HDMIPhy&lt; / option&gt;         &lt; option value =“1”&gt; USB Streaming&lt; / option&gt;         &lt; option value =“2”&gt; MPEC-TS接口&lt; / option&gt;         &lt; option value =“3”&gt; VIP(以太网)&lt; / option&gt; &LT; /选择&GT; 所以基本上,我试图通过其价值找到它的文本。例如,如果值= 0,则返回“HDMIPhy”。 所以这个select标签是“form”标签中的第4个标签。这是我试过的。 $(“select:nth-​​child(4),#someid”)。text() 但不知怎的,我不想给所有选项标签一个唯一的ID,这将被用尽。是否有可能以其价值获得它?此外,不选择表单标签中的第1,第2,第3标签。是否有可能只选择表单,这意味着在我的情况下第一个选择标签。有人有想法吗?

3 个答案:

答案 0 :(得分:4)

您可以使用属性选择器: $(“select [name ='InputSource']选项[value ='0']”)。text(); // “HDMIPhy” 或者,如果你有变量: $(“select [name ='”+ resul t [i] .name +“'] option [value ='”+ result [i] .value +“']”)。text();

答案 1 :(得分:0)

不要依赖于元素的顺序和数量。依靠这些元素是什么。
如果您不想使用ID,则可以使用输入名称:

&#13;
&#13;
function displaySelectText(selectName, optionValue) {
  var $select = $("select[name='" + selectName + "']");
  var $option = $select.find("option[value='" + optionValue + "']");
  
  return $option.text();
}

console.log(displaySelectText("InputSource", "3"));
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<select name="InputSource">
  <option value="">Broadcast Input</option>             
  <option value="0">HDMIPhy</option>             
  <option value="1">USB Streaming</option>             
  <option value="2">MPEC-TS Interface</option>             
  <option value="3">VIP(Ethernet)</option>         
</select>
&#13;
&#13;
&#13;

答案 2 :(得分:0)

&#13;
&#13;
$( "#myselect option:selected" ).text();
&#13;
<select id="myselect">
    <option value="1">Mr</option>
    <option value="2">Mrs</option>
    <option value="3">Ms</option>
    <option value="4">Dr</option>
    <option value="5">Prof</option>
</select>
&#13;
&#13;
&#13;