我有一个已填充的下拉列表,正在使用选择的插件。选择后,需要填写页面的值,而不是文本。我尝试过几种不同的方法,但似乎都没有。
标记:
<select class="chzn-select" data-placeholder=" -- Select Course -- " id="CourseDropDown" name="CourseDropDown">
<option value=""></option>
<option value="1">Option 1</option>
</select>
我尝试过的事情:
$('#CourseDropDown').on('change', function () {
var courseID = $(this).val();
....
var courseID = $('#CourseDropDown').val();
....
var courseID = $('#CourseDropDown :selected').val();
....
所有这些都返回一个空字符串。
我可以通过
从选择中获取文本var courseID = $(this).text();
标记显然具有为选择设置的值。它选择正确的东西并返回文本。什么会导致它返回一个空字符串而不是值1.
答案 0 :(得分:2)
.val()
对我来说很好,这里是一个片段https://jsfiddle.net/20kckhf9/
答案 1 :(得分:0)
这似乎来自我如何设置选择。我发现的所有信息都表明,为了在下拉列表中显示占位符,例如“ - 选择一些东西 - ”,您需要添加一个空值/选项。即使标记正确并且选择了.text(),这个值似乎覆盖了选项值。
我删除了前置选项。它现在可以正常工作,仍然显示占位符。