Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 用变量替换特定条件_Jquery_Conditional_Simplify - Fatal编程技术网

Jquery 用变量替换特定条件

Jquery 用变量替换特定条件,jquery,conditional,simplify,Jquery,Conditional,Simplify,以上说明了两个菜单和一个条件:如果选择了菜单一,则发出警报。我的代码中实际上有五个菜单,所以我需要简化 需要将条件替换为一行,该行将变量分配给已更改菜单的id。怎么做?试试这个 $('select').change(function () { var id=$(this).attr('id'); switch(id) { case "menu1": alert('menu 1 changed'); break

以上说明了两个菜单和一个条件:如果选择了菜单一,则发出警报。我的代码中实际上有五个菜单,所以我需要简化

需要将条件替换为一行,该行将变量分配给已更改菜单的id。怎么做?

试试这个

$('select').change(function () {
    var id=$(this).attr('id');
    switch(id)
    {
        case "menu1":
            alert('menu 1 changed');
            break;
        case "menu2":
            alert('menu 2 changed');
            break;
    }
});
试试这个

$('select').change(function () {
    var id=$(this).attr('id');
    switch(id)
    {
        case "menu1":
            alert('menu 1 changed');
            break;
        case "menu2":
            alert('menu 2 changed');
            break;
    }
});

尝试使用id属性获取id…尝试以下解决方案以检查更改的菜单

  $('select').change(function () {
        if ($(this)) {
            alert( 'menu' + this.id + 'has been changed')
        }
    })

尝试使用id属性获取id…尝试以下解决方案以检查更改的菜单

  $('select').change(function () {
        if ($(this)) {
            alert( 'menu' + this.id + 'has been changed')
        }
    })
试试这个

 <select id="menu1" onchange="changeEvent(this);">
   <option data-icon="arrow-u" data-iconpos="top">- SELECT -</option>
   <option data-icon="arrow-u" data-iconpos="bottom" selected="selected">Shrubs</option>
   <option data-icon="arrow-u" data-iconpos="left">Trees</option>
   <option data-icon="arrow-u" data-iconpos="right">Bushes</option>
 </select>
 <select id="menu2" onchange="changeEvent(this);">
  <option data-icon="arrow-u" data-iconpos="top">- SELECT -</option>
  <option data-icon="arrow-u" data-iconpos="bottom" selected="selected">Shrubs</option>
  <option data-icon="arrow-u" data-iconpos="left">Trees</option>
  <option data-icon="arrow-u" data-iconpos="right">Bushes</option>
 </select>
试试这个

 <select id="menu1" onchange="changeEvent(this);">
   <option data-icon="arrow-u" data-iconpos="top">- SELECT -</option>
   <option data-icon="arrow-u" data-iconpos="bottom" selected="selected">Shrubs</option>
   <option data-icon="arrow-u" data-iconpos="left">Trees</option>
   <option data-icon="arrow-u" data-iconpos="right">Bushes</option>
 </select>
 <select id="menu2" onchange="changeEvent(this);">
  <option data-icon="arrow-u" data-iconpos="top">- SELECT -</option>
  <option data-icon="arrow-u" data-iconpos="bottom" selected="selected">Shrubs</option>
  <option data-icon="arrow-u" data-iconpos="left">Trees</option>
  <option data-icon="arrow-u" data-iconpos="right">Bushes</option>
 </select>
试试这个

$('select').change(function () {

        alert(  $(this).attr('id') + 'has been changed')

})
试试这个

$('select').change(function () {

        alert(  $(this).attr('id') + 'has been changed')

})
您可以看到解决方案的js FIDLE


您可以看到解决方案的js FIDLE。

我不建议使用onchange。它又旧又笨重。而且会降低性能和可维护性我不建议使用onchange。它又旧又笨重。而且会降低性能和可维护性非常感谢您。有没有办法将其应用于字段集?我意识到每个选定字段可能需要位于单独的字段集中。从这里开始,最简单的方法是忽略字段集,但它的开发程度较低:如何警告字段集的id?您可以像$this这样使用最近的。最近的'fieldset'。attr'id';在onchange函数中。本页下面建议不建议使用onclick。你能想出一种类似于你最初提出的方法,但适用于fieldset吗?我试过这个:非常感谢。有没有办法将其应用于字段集?我意识到每个选定字段可能需要位于单独的字段集中。从这里开始,最简单的方法是忽略字段集,但它的开发程度较低:如何警告字段集的id?您可以像$this这样使用最近的。最近的'fieldset'。attr'id';在onchange函数中。本页下面建议不建议使用onclick。你能想出一种类似于你最初提出的方法,但适用于fieldset吗?我试过这个: