当只包含一个项目时,Jquery change()在选择框上不起作用

时间:2014-01-22 15:39:40

标签: javascript php jquery

我正在使用php和jquery处理动态选择框,我有4个选择框,第一个的内容在页面加载中加载。

当我选择第一个选择框中的一个项目时,seconde将从数据库中获取与第一个选择框相关的数据......依此类推

但问题是:当选择框只包含一个项目时,jquery的change()函数不起作用$('#MySelectId').change(function(){ //......});

Dynamic Dependent Select Box Using jQuery and Ajax

有什么建议吗?

我正在使用PHP,jQuery v1.6.4和jQuery Chosen Plugin。

2 个答案:

答案 0 :(得分:1)

如果您的选择框仅包含1个项目,则此项目已被选中,因此如果您再次选择该项目,则该值不会更改,因此不会触发任何更改事件。添加一个占位符,例如“请选择项目”或默认情况下选择的内容。

答案 1 :(得分:1)

尝试类似

的内容
$('#MySelectId').on('change', 'select', function() {
  alert('changed');
  }).click(function(){
      if($('#MySelectId select option').length == 1) {
      $('#MySelectId select').change();
      }
});

Fiddle

如果您不使用1.7.x +版本,则可以尝试使用jquery bind。

$('#MySelectId').bind('change', function() {
  alert('changed');
}).click(function(){
   if($('#MySelectId select option').length == 1) {
    $('#MySelectId select').change();
}
});

test here

check这篇文章也是