下拉列表中文本框子项的jQuery值

时间:2016-04-15 10:54:09

标签: jquery

我在下拉列表中有一个没有id或名称的文本框。我需要获得文本框的值。我怎么做?这就是我所拥有的:

https://jsfiddle.net/gfinzer/otqydwru/1/

<select id="ddlInsuranceCompany" name="insuranceCompany">
    <option value="1">America First</option>
    <option value="1">Indiana</option>
    <option value="1">Peerless</option>
    <input type="text" value="Test" />
</select>
var myValue = $('#ddlInsuranceCompany').children(':text').first().val();
alert(myValue);

1 个答案:

答案 0 :(得分:0)

您的HTML无效 - input不能是select的子元素。如果您检查DOM,您会看到浏览器已通过将输入移动到有效位置来自动修复此问题。 myValue为空,因为.children(':text')未找到DOM中的元素。

要解决此问题,您可以自行修改HTML,方法是在input之后放置select并使用next()进行检索。试试这个:

<select id="ddlInsuranceCompany" name="insuranceCompany">
    <option value="1">America First</option>
    <option value="1">Indiana</option>
    <option value="1">Peerless</option>
</select>
<input type="text" value="Test" />
var myValue = $('#ddlInsuranceCompany').next(':text').val();
console.log(myValue);

Updated fiddle