控制所选值不按预期工作

时间:2014-06-16 09:46:31

标签: javascript jquery

我有一个下拉列表,根据另一个下拉列表选项自动填充。

我使用listbox1.val来确定所选值。 但是,当我尝试获取第二个列表框的选定值时,该值将作为代码块返回。

这是我填充第二个下拉列表的地方:

else if (el.val() === "West") {
    $("#drpArea").append("<option value='Barry'>Barry</option>");
    $("#drpArea").append("<option value='Cardiff'>Cardiff</option>");
    $("#drpArea").append("<option value='Pembroke'>Pembroke</option>");
    $("#drpArea").append("<option value='Swansea'>Swansea</option>");

}

列表框按预期填充。然而当我打电话时: $("#drpArea :selected").val它返回一段代码,而不是选定的值。

我也试过$("#drpArea :selected").val.text

2 个答案:

答案 0 :(得分:2)

尝试使用option:selected并使用.val()获取值

$("#drpArea option:selected").val() // it returns selected value
$("#drpArea option:selected").text() // it returns selected option text
$("#drpArea").val() // it returns selected value

DEMO

答案 1 :(得分:1)

问题是val是一个函数,而不是属性,因此您必须使用()调用它。

另外,您不需要option:selectedselect的值是所选选项的值。所以使用:

$("#drpArea").val();