2012-06-12 73 views
0

單擊收音機的選項之一是顯示相同數量的選項日期,更改顯示或不顯示相應的表格,但這不會發生。你在邏輯或語法上有錯誤?Jquery或語法中的邏輯錯誤?

<style> 
    #ch2 ,#ch3 ,#ch4 ,#ch5 ,#ch6 ,#ch7 ,#ch8 ,#ch9 ,#ch10 ,#ch11 ,#ch12{ 
     display: none; 
    } 

</style> 
<script type="text/javascript" src="jquery.js"></script> 
<script type="text/javascript"> 
$(function(){ 
     $("input[type=radio]").change(function(){ 
       var valor = $(this).val(); 
       for(i=1;i<=valor;i++){ 
         $('#ch'+i).css("display",""); 
       } 
       for(j=1;i<=12;i++){ 
         $('#ch'+i).css("display","none"); 
       } 

     }) 
}); 
</script> 
<form name="senddata" method="post" action=""> 
     <table width="100%" border="0" id="radios" style="display: none"> 
     <tr> 
       <td><label><input type="radio" name="parcelas" value="1" />1X</label></td> 
       <td><label><input type="radio" name="parcelas" value="2" />2X</label></td> 
       <td><label><input type="radio" name="parcelas" value="3" />3X</label></td> 
       <td><label><input type="radio" name="parcelas" value="4" />4X</label></td> 
       <td><label><input type="radio" name="parcelas" value="5" />5X</label></td> 
       <td><label><input type="radio" name="parcelas" value="6" />6X</label></td> 
       <td><label><input type="radio" name="parcelas" value="7" />7X</label></td> 
       <td><label><input type="radio" name="parcelas" value="8" />8X</label></td> 
       <td><label><input type="radio" name="parcelas" value="9" />9X</label></td> 
       <td><label><input type="radio" name="parcelas" value="10" />10X</label></td> 
       <td><label><input type="radio" name="parcelas" value="11" />11X</label></td> 
       <td><label><input type="radio" name="parcelas" value="12" />12X</label></td> 
     </tr> 
     </table> 
     <table width="100%" border="0" id="ch1"> 
     <tr> 
       <td>Data<br /><input name="input" type="text" name="data1"/></td>     
     </tr> 
     </table> 
     <table width="100%" border="0" id="ch2"> 
     <tr> 
       <td>Data<br /><input name="input" type="text" name="data2"/></td>     
     </tr> 
     </table> 
     <table width="100%" border="0" id="ch3"> 
     <tr> 
       <td>Data<br /><input name="input" type="text" name="data3"/></td>     
     </tr> 
     </table> 
     <table width="100%" border="0" id="ch4"> 
     <tr> 
       <td>Data<br /><input name="input" type="text" name="data4"/></td>     
     </tr> 
     </table> 
     <table width="100%" border="0" id="ch5"> 
     <tr> 
       <td>Data<br /><input name="input" type="text" name="data5"/></td>     
     </tr> 
     </table> 
     <table width="100%" border="0" id="ch6"> 
     <tr> 
       <td>Data<br /><input name="input" type="text" name="data6"/></td>     
     </tr> 
     </table> 
     <table width="100%" border="0" id="ch7"> 
     <tr> 
       <td>Data<br /><input name="input" type="text" name="data7"/></td>     
     </tr> 
     </table> 
     <table width="100%" border="0" id="ch8"> 
     <tr> 
       <td>Data<br /><input name="input" type="text" name="data8"/></td>     
     </tr> 
     </table> 
     <table width="100%" border="0" id="ch9"> 
     <tr> 
       <td>Data<br /><input name="input" type="text" name="data9"/></td>     
     </tr> 
     </table> 
     <table width="100%" border="0" id="ch10"> 
     <tr> 
       <td>Data<br /><input name="input" type="text" name="data10"/></td>     
     </tr> 
     </table> 
     <table width="100%" border="0" id="ch11"> 
     <tr> 
       <td>Data<br /><input name="input" type="text" name="data11"/></td>     
     </tr> 
     </table> 
     <table width="100%" border="0" id="ch12"> 
     <tr> 
       <td>Data<br /><input name="input" type="text" name="data12"/></td>     
     </tr> 
     </table> 
</form> 
+2

看着你的樣式表 - 你知道這是什麼類,是嗎? – Blazemonger

+0

你問我們是否有語法錯誤?瀏覽器有一個控制檯來顯示這些東西(例如,在Firefox/chrome中shift-ctrl-J)。你應該自己檢查一下。 –

+0

你正在比較一個數字'i'到一個字符串'valor'。將其轉換爲數字。 –

回答

0
for(i = 1; i <= valor; i++){ 
    $('#ch'+i).css("display","block"); // or inline but not left empty string 
} 
// here not j=1 and here you mix with j and i 
for(j = valor+1; j <= 12; j++){ 
    $('#ch'+i).css("display","none"); 
} 
+0

不應將'display'設置爲'block'或'inline'而不是空字符串? – Blazemonger

+0

@Blazemonger謝謝先生,我已經更新了我的回答 – thecodeparadox

+0

works correcty,tank u。 –

0

只需指定一個值,而不是什麼:

$('#ch'+i).css("display","table"); 

這應該做的伎倆,試試jsfiddle