2014-02-27 82 views
0

我一直在試圖創建一個jquery函數,它將在表格行中的所有選擇的toogle值。我想出了這個sollutionJquery切換下拉值

$(function() { 
    $(".toogle").click(function() { 
     if ($(this).hasClass("on") === true) { 
      $(this).addClass("off"); 
      $(this).removeClass("on"); 
     } else { 
      $(this).addClass("on"); 
      $(this).removeClass("off"); 
     } 

     $(this).each(function() { 

      if ($(this).hasClass("on") === true) { 
       $(this).closest('tr').find('select').each(function() { 
        $(this).val("1"); 
       }); 
      } else { 
       $(this).closest('tr').find('select').each(function() { 
        $(this).val("0"); 
       }); 
      } 

     }); 
    }); 
}); 

你可以看到完整的代碼在這裏:http://jsfiddle.net/7BZNe/

,但想知道它是否能以更好的方式來完成。

+1

如果它是一個兩態場,你應該使用複選框。 –

+0

我喜歡這個詞toogle。 –

回答

3

大量的空間,簡化了這裏:

http://jsfiddle.net/zt974/

$(".toogle").click(function() { 
    $(this) 
     .toggleClass("on off") 
     .closest('tr') 
     .find('select') 
     .val($(this).hasClass("on") ? "1" : "0"); 
}); 
+0

謝謝!這正是我所尋找的,更少的代碼,更容易維護:) – ClarkBirkelund