2014-04-01 68 views
0

我目前正在研究一些javascript,當選中該複選框時將執行該腳本。帶選擇框的JS

當複選框被選中時,表單將顯示2個更多的選擇框。

我嘗試了一些東西,但我不是很好的JavaScript,有人可以看一看,讓我知道我要去哪裏錯了?

$(document).ready(function() { 
    $("#repeat").change(function() { 
     if ($("#repeat").checked){ 
      $("#numbers").slideDown(); 
     } else{ 
      $("#numbers").slideUp(); 
     } 
    }); 
    $("#numbers").hide(); 
    $("#repeat").tigger("change"); 
}); 

而複選框的ID是重複的,其中一個選擇框的ID是數字。

+0

protip:'if(this.checked){...}' –

+1

'tigger'是'trigger',還是你引用了一個虛構的老虎? – Adam

+0

那麼你的相關HTML是什麼? [dsfq的答案](http://stackoverflow.com/a/22797267/82548)看起來應該起作用,那麼什麼是阻止它,HTML元素,拼寫錯誤,JavaScript衝突,瀏覽器控制檯中的錯誤? –

回答

0

這部分是不正確的:

$("#repeat").checked 

,並應

this.checked 

所以整個腳本:

$(document).ready(function() { 
    $("#repeat").change(function() { 
     if (this.checked) { 
      $("#numbers").slideDown(); 
     } else { 
      $("#numbers").slideUp(); 
     } 
    }); 
    $("#numbers").hide(); 
    $("#repeat").trigger("change"); // <--- trigger, not tigger 
}); 

$("#repeat")是一個jQuery實例對象,它沒有財產checked。然而this裏面的change事件處理器引用了具有這個屬性的HTMLSelectElement。

而且它是trigger而不是tigger

+0

仍然不會做任何事情,甚至不隱藏選擇。 –

+0

@AnujHari它也應該是'trigger'而不是'tigger'。 – dfsq

+0

我已經做了觸發器的事情,但它仍然不會隱藏或做任何事情。 –