2011-04-22 32 views
1

这是我单选按钮将禁用选择(“其他”不工作)

<script type="text/javascript"> 

    $('input:radio[name="RADIOSELECTOR"]').change(function() { 

     if ($(this).val()=='one') { 
       $('#ones').removeAttr('disabled'); 
      $('#twos').attr('disabled',true); 
     } else if ($(this).val()=='two') { 
      $('#ones').attr('disabled',true); 
      $('#twos').removeAttr('disabled'); 
     } else { 
      $('#ones').attr('disabled',true); 
        $('#twos').attr('disabled',true); 
     } 


        }); 
</script> 

<form name="order" action="managecart.html" onsubmit="return AddToCart(this); return ValidateCart(this);"> 
<input name="PRICE" type=hidden id="PRICE" value="" /> 
<input name=NAME type=hidden id="NAME" value="" /> 
<input name=ID_NUM type=hidden id="ID_NUM" value="" /> 
<input type=hidden name="SHIPPING" value="0.00" /> 
<input type="radio" name="RADIOSELECTOR" value="lose" onClick="document.order.PRICE.value='59.99'; document.order.NAME.value='iPhone 3G Glass/digitiazer replacement'; document.order.ID_NUM.value='3GGL'; document.order.SHIPPING.value='0.00';" />Glass/digitizer repair <b>59.99$</b><br><br> 
<b> Combo repairs:</b><BR><br> 
<input type="radio" name="RADIOSELECTOR" value="lose" onClick="document.order.PRICE.value='74.99'; document.order.NAME.value='iPhone 3G Glass/digitizer + battery repair'; document.order.ID_NUM.value='3GGLB'; document.order.SHIPPING.value='0.00';" />Glass/digitizer + battery repair = <b> 74.99$</b> 25$ in savings!<br> 

<input type="radio" name="RADIOSELECTOR" value="one" onClick="document.order.PRICE.value='79.99'; document.order.NAME.value='iPhone 3G Glass/digitizer + combo '; document.order.ID_NUM.value='3GGLC'; document.order.SHIPPING.value='0.00';" />Glass/digitizer + <select id="ones" name="ADDITIONALINFO2" disabled="disabled"> 
<option value=" "></option><option value="Home button">Home button</option> <option value="Power button">Power button</option><option value="Mute switch">Mute switch</option><option value="volume button">Volume button</option></select> 

= <b>79.99$</b> 30$ in savings!<br> 

<input type="radio" name="RADIOSELECTOR" value="two" onClick="document.order.PRICE.value='99.99'; document.order.NAME.value='iPhone 3G Glass/digitizer + combo + ''ADDITIONALINFO3'; document.order.ID_NUM.value='3GGLBC'; document.order.SHIPPING.value='0.00';" />Glass/digitizer + battery + <select name="ADDITIONALINFO3" id="twos" disabled="disabled"><option value=" "></option><option value="Home button">Home button</option> <option value="Power button">Power button</option><option value="Mute switch">Mute switch</option><option value="volume button">Volume button</option></select> = <b>99.99$</b> 30$ in savings!<br> 

<input name="QUANTITY" type="hidden" value="1" /><br> 
<input type="image" src="./images/addtocart.png" align="center" name="BUY" value=" Add to cart " ALT="Add to Cart"> 
</form> 

DEMO http://jsfiddle.net/uSmVD/86/

脚本不会在HTML文件中工作。如何解决这个问题? 这里是实际的页面即时试图让这个工作http://icuretech.com/revision/iphone-3g-glass-repair.html

+0

你可以用适当的缩进格式化你的代码,使其清晰? – 2011-04-22 03:02:44

+0

http://jsfiddle.net/uSmVD/79/这就是发生什么 – Rafal 2011-04-22 03:24:47

+0

因为中间块应该使用'else if',而不是'if'。给[this](http://homepage.ntlworld.com/kayseycarvey/controlflow3.html)一读。 – 2011-04-22 03:31:53

回答

0

你没有一个输入的值是lose1。您有lose1单独作为某些输入的值,但不是两者,因此表达式永远不会根据您的要求进行评估。

+0

真的,我没有纠正,但当我做别人{$('#ones')。attr('disabled',true); $('#twos')。attr('disabled',true); } 我无法正常工作,为什么?另外,当我把脚本放在HTML正文中不起作用时,谢谢你的回复 – Rafal 2011-04-22 03:20:23

+0

好吧,对于初学者来说,你将删除一个名为“禁用”的属性,而这个属性你并没有首先分配。因此,如果您在其他任何语句之前触击了其他语句,则无法从一开始就删除不存在的属性。另外,我甚至在代码中提供的脚本片段中看不到其他语句。最后,如果你想将它嵌入到body中,你需要确保你的Javascript包装在一个

0
<script src="prototype.js"></script> 
<script src="jquery.js"></script> 

    <script> 
    $('input:radio[name="RADIOSELECTOR"]').change(function() { 

     if ($(this).val()=='one') { 
       $('#ones').removeAttr('disabled'); 
      $('#twos').attr('disabled',true); 
     } if ($(this).val()=='two') { 
      $('#ones').attr('disabled',true); 
      $('#twos').removeAttr('disabled'); 
     } if ($(this).val()=='lose') { 
      $('#ones').attr('disabled',true); 
        $('#twos').attr('disabled',true); 
     } 
      if ($(this).val()=='lose1') { 
      $('#ones').attr('disabled',true); 
        $('#twos').attr('disabled',true); 
     } 

    }); 

    </script> 
<form name="order" action="managecart.html" onsubmit="return AddToCart(this); return ValidateCart(this);"> 
<input name="PRICE" type=hidden id="PRICE" value="" /> 
<input name=NAME type=hidden id="NAME" value="" /> 
<input name=ID_NUM type=hidden id="ID_NUM" value="" /> 
<input type=hidden name="SHIPPING" value="0.00" /> 
<input type="radio" name="RADIOSELECTOR" value="lose" onClick="document.order.PRICE.value='59.99'; document.order.NAME.value='iPhone 3G Glass/digitiazer replacement'; document.order.ID_NUM.value='3GGL'; document.order.SHIPPING.value='0.00';" />Glass/digitizer repair <b>59.99$</b><br><br> 
<b> Combo repairs:</b><BR><br> 
<input type="radio" name="RADIOSELECTOR" value="lose" onClick="document.order.PRICE.value='74.99'; document.order.NAME.value='iPhone 3G Glass/digitizer + battery repair'; document.order.ID_NUM.value='3GGLB'; document.order.SHIPPING.value='0.00';" />Glass/digitizer + battery repair = <b> 74.99$</b> 25$ in savings!<br> 

<input type="radio" name="RADIOSELECTOR" value="one" onClick="document.order.PRICE.value='79.99'; document.order.NAME.value='iPhone 3G Glass/digitizer + combo '; document.order.ID_NUM.value='3GGLC'; document.order.SHIPPING.value='0.00';" />Glass/digitizer + <select id="ones" name="ADDITIONALINFO2"> 
<option value=" "></option><option value="Home button">Home button</option> <option value="Power button">Power button</option><option value="Mute switch">Mute switch</option><option value="volume button">Volume button</option></select> 

= <b>79.99$</b> 30$ in savings!<br> 

<input type="radio" name="RADIOSELECTOR" value="two" onClick="document.order.PRICE.value='99.99'; document.order.NAME.value='iPhone 3G Glass/digitizer + combo + ''ADDITIONALINFO3'; document.order.ID_NUM.value='3GGLBC'; document.order.SHIPPING.value='0.00';" />Glass/digitizer + battery + <select name="ADDITIONALINFO3" id="twos" ><option value=" "></option><option value="Home button">Home button</option> <option value="Power button">Power button</option><option value="Mute switch">Mute switch</option><option value="volume button">Volume button</option></select> = <b>99.99$</b> 30$ in savings!<br> 

<input name="QUANTITY" type="hidden" value="1" /><br> 
<input type="image" src="./images/addtocart.png" align="center" name="BUY" value=" Add to cart " ALT="Add to Cart"> 
</form> 
+1

它不工作:/ – Rafal 2011-04-23 01:49:51

相关问题