如何动态检查select字段是否包含数据

时间:2016-08-10 08:39:06

标签: jquery html

我有一个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)); 
      });
  }

2 个答案:

答案 0 :(得分:1)

你可以这样做,

  

注意:我添加了一个ID以将事件应用于特定选择

//填充选择列表

&#13;
&#13;
$(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;
&#13;
&#13;

答案 1 :(得分:0)

要检查是否填充了下拉选项,请尝试以下操作:

var length = $('#mySelectList').children('option').length;
if(length > 0)
{
   // populated successfully
}