【问题标题】:Jquery stoping onchange function on switch case inside other switch caseJquery在其他开关盒内的开关盒上停止onchange功能
【发布时间】:2015-01-23 07:59:15
【问题描述】:

我在 switch case 场景中有 switch case。

当我选择选项 1:案例 1 并选择选项 2 时,我会提示“仅限案例 1”.. 这很好。

但是当我选择选项 1: case 2.. 选项 2 仍然运行.. 这绝对不是。

谁能建议如何纠正这个问题。

$("#option1").change(function(e){   

    switch(option1) {
     case 1:    
       $("#option2").change(function(e){    
        switch(option2) {

        case 'A':
           alert('For case 1 Only'); 
           break;
        }

       });  
      break;
     case 2:
      //  Some Option 2 scenario

      break;
     default:
     // code to be executed if n is different from case 1 and 2
    }       
 });

【问题讨论】:

  • 为什么要在事件处理器中绑定事件处理器?
  • 这里的逻辑让我头疼。你到底想做什么,因为我确信有更好的方法。
  • jsfiddle.net/JtFvK/4 太好了,就是这样

标签: javascript jquery switch-statement onchange


【解决方案1】:

目前您正在事件处理程序中绑定事件处理程序。因此,每当option1 更改时,您都会将事件处理程序绑定到option2(我确定您不想要这个)。

我认为你需要这个(假设)。

$("#option1, #option2").change(function(e) {
    var option1 = $('#option1').val();
    var option2 = $('#option2').val();
    switch (option1) {
        case 1:
            switch (option2) {
                case 'A':
                    alert('For case 1 Only');
                    break;
            }
            break;
        case 2:
            break;
        default:
            // code to be executed if n is different from case 1 and 2
    }
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多