我有一个select
字段,在回调成功后填充了数据,我需要在发生这种情况时调用函数。
我尝试使用jQuery on .change
,但只有在我选择其他选项后才会触发,而不是在填充选择字段时。
有没有办法动态检查select
字段是否有值?
这是我到目前为止所做的:
$('select').on('change', function() {
// Do something
});
这就是我填充选择列表的方式(我使用谷歌应用脚本):
function onMetricsSuccess(selectList) {
$.each(selectList, function(key, value) {
$('select')
.append($("<option></option>")
.attr("value",value)
.text(value));
});
}
答案 0 :(得分:1)
你可以这样做,
注意:我添加了一个ID以将事件应用于特定选择
//填充选择列表
$(document).ready(function(){
$('#myDropdown').on('change', function(){
alert('Yay I was changed !!');
});
populateSelect();
});
function populateSelect(){
var select = $('#myDropdown');
select.append(new Option('Im a text', 'text'));
select.append(new Option('Im a number', 'number'));
$('#myDropdown').trigger('change');
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="myDropdown"></select>
&#13;
答案 1 :(得分:0)
要检查是否填充了下拉选项,请尝试以下操作:
var length = $('#mySelectList').children('option').length;
if(length > 0)
{
// populated successfully
}