2010-08-09 156 views
0

基本上我所要做的就是如果用戶選擇了一個複選框,然後自動檢查上一個框。每個複選框都有一個迭代號碼。例如,如果複選框ID = 3被選中,則自動選擇複選框ID = 2。這裏是我的代碼如下:jQuery noob:如果選擇了其他選項,自動選擇複選框

<script> 
var $j = jQuery.noConflict(); 

$j('input:checkbox').click(function() 
{ 
    if (this.checked) 
    { 
     var original = $j(this).attr("id"); 
     var temp = original - 1; 
     var follower = $j(temp); 

     follower.attr("checked",true); 
    } 
}); 
</script> 

這並沒有做任何事情。有人可以幫助告訴我什麼是錯的,或者如果有更好的方法來做到這一點真棒!謝謝!

回答

4

如何

var follower = $j('#' + temp); 
follower.attr('checked','checked'); 
1

我認爲,所有你需要做的是改變:

follower.attr("checked",true); 

到:

follower.attr("checked","checked"); 
+0

Coronus是正確的,我錯過了哈希徵從選擇器丟失。 – Ender 2010-08-09 23:32:14

2

一些建議(在評論中指出):

<script> 
var $j = jQuery.noConflict(); 
// wrap this code in a "DOM ready" handler 
$j(function() { 
    // listen to change event instead (to support keyboard driven interaction) 
    $j('input:checkbox').change(function() { 
     if (this.checked) { 
      // '+' char will cast this to a numerical value 
      var original = +$j(this).attr("id"); 
      var temp = original - 1; 
      // be sure to use an id selector 
      var follower = $j("#" + temp); 
      // more convential way of marking item as checked 
      follower.attr("checked","checked"); 
     } 
    }); 
}); 
</script> 


編輯:只注意到@Coronus和@Ender打我的選擇,並檢查補充...所以信貸的地方是由於:)

相關問題