我试图找到下拉列表的选定值,但我不断收到空字符串或未定义的结果。
我的HTML看起来像这样:
<div class="input-group" style="padding-bottom: 10px;">
<span id="add-addon-styling" class="input-group-addon">Status</span>
<!-- TODO: Make this automatically rather than hardcoded -->
<select class="form-control required" id="new-activity-modal-status-dropdown">
<option value="NA" class="selected">N/A</option>
<option value="ON_TRACK">On Track</option>
<option value="ISSUE">Issue</option>
<option value="BEHIND">Behind</option>
</select>
<span class="input-group-addon" data-toggle="tooltip" data-placement="top" title="The Status of the Activity. Usually On Track but otherwise set to N/A if unsure.">
<b>?</b>
</span>
</div>
这是JavaScript:
function OnModalCreateNewActivityBtnClick() {
var jsonObject = '';
var modal = $('new-activity-modal-body');
var activityStatus = modal.find('#new-activity-modal-status-dropdown').val();
...
...
}
我也看到过这样的建议:
function OnModalCreateNewActivityBtnClick() {
var jsonObject = '';
var modal = $('new-activity-modal-body');
var activityStatus = modal.find('#new-activity-modal-status-dropdown').find(":selected").text();
...
...
}
第一个返回未定义的结果。第二个返回一个空字符串。
我不确定该怎么做。 JavaScript仍然困扰着我。
答案 0 :(得分:2)
var modal = $('new-activity-modal-body');
应该是
var modal = $('#new-activity-modal-body');
你没有错误,因为jquery选择器什么也没找到是有效的。
答案 1 :(得分:1)
假设HTML为:
<div class="new-activity-modal-body">...</div>
以下代码无法使用,因为您未指定new-activity-modal-body
是class
还是id
:
var modal = $('new-activity-modal-body');
应该是:
var modal = $('#new-activity-modal-body'); //id selector
//OR
var modal = $('.new-activity-modal-body'); //class selector
希望这有帮助。
答案 2 :(得分:1)
使用
var modal = $('#new-activity-modal-body');
答案 3 :(得分:1)
您的变量modal
未正确分配。没有new-activity-modal-body
。您应该使用#new-activity-modal-body
。
只需替换
var modal = $('new-activity-modal-body');
使用
var modal = $('#new-activity-modal-body');