2016-01-20 34 views
0

我试图找到选定的下拉列表的值,但我一直收到一个空字符串或未定义的结果。

我的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

使用''selector'#'这里''id' $( '新活动峰体');' –

+0

这里是也许你的解决方案: [StackOverflow jquery-get-selected-option-from-dropdown](http://stackoverflow.com/questions/10659097/jquery-get-selected-option-from-dropdown) –

+0

谁把减去该帖子,你会介意解释为什么,所以我可以避免它在未来? – OmniOwl

回答

2
var modal = $('new-activity-modal-body'); 

大概应该是

var modal = $('#new-activity-modal-body'); 

你没有错误,因为jQuery选择什么也没找到是一个有效的situtation。

+0

是的,就是这样。谢谢! – OmniOwl

1

假设HTML是:

<div class="new-activity-modal-body">...</div> 

下面的代码将无法工作,因为你不指定的话new-activity-modal-bodyclassid

var modal = $('new-activity-modal-body'); 

应该是:

var modal = $('#new-activity-modal-body'); //id selector 
//OR 
var modal = $('.new-activity-modal-body'); //class selector 

希望这会有所帮助。

1

使用

var modal = $('#new-activity-modal-body'); 
1

你的变量modal不正确分配。没有new-activity-modal-body。你应该使用#new-activity-modal-body

只需更换

var modal = $('new-activity-modal-body'); 

随着

var modal = $('#new-activity-modal-body');