Javascript 当只包含一项时,Jquery change()不处理选择框

Javascript 当只包含一项时,Jquery change()不处理选择框,javascript,php,jquery,Javascript,Php,Jquery,我正在使用php和jquery开发一个动态选择框,我有4个选择框,第一个选择框的内容加载到页面加载中 当我在第一个选择框中选择一个项目时,第二个从与第一个选择框相关的数据库中获取数据…依此类推 但问题是:当选择框只包含一项时,jquery的change函数$'MySelectId'.changefunction{/..}不起作用 有什么建议吗 我正在使用PHP、jQuery v1.6.4和jQuery selected插件。如果您的选择框仅包含1项,则此项已被选中,因此如果再次选择,则值不会更改

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

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

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

有什么建议吗


我正在使用PHP、jQuery v1.6.4和jQuery selected插件。

如果您的选择框仅包含1项,则此项已被选中,因此如果再次选择,则值不会更改,因此不会触发任何更改事件。添加一个占位符,如Please select item或默认选中的内容。

尝试类似的内容

$('#MySelectId').on('change', 'select', function() {
  alert('changed');
  }).click(function(){
      if($('#MySelectId select option').length == 1) {
      $('#MySelectId select').change();
      }
});
如果不使用1.7.x+版本,也可以尝试使用jquery绑定

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

这篇文章也

我建议您在选择框中添加一个初始选项标记作为占位符。因此,选择框中永远不会只有一个选项。如果它只包含一个项目,则不会有任何更改,因为该项目已被选中。在这种情况下,您应该手动触发更改事件,如果只有一个项目也预填充了字段检查此帖子正如您所知,我使用所选项目加载下一个选择框,然后我应该检查用户是否没有选择占位符的值吗?我添加它作为初始值,但仍然不起作用!!我不工作,我想补充一些东西;MySelectId是标记的id,im使用jQuery v1.6.4try和jQuery'bind'或'live'而不是'on'现在使用'live'工作,但是为什么警报'changed';执行两次?检查此小提琴此处它被调用一次,在您的情况下,您可能会在放置此代码的位置调用函数两次。它工作,但保持相同的行为警报执行两次。首先,当我打开选择框时,它只包含一个项目,但在其他情况下可以正常工作,当我选择该项目时,它会再次执行。