2011-04-23 45 views
2

林戰鬥着這一切的一天,在谷歌和計算器搜索,但無法得到它爲什麼是這樣的工作:

<head> 

    <script src="/js/jquery.js" type="text/javascript"></script> 

     <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> 
    </head> 
    <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> 

這個工程上的jsfiddle但不能在我的網站或JSbin,女巫給出了錯誤:

$ is not defined Caused by line (28/26): $('input:radio[name="RADIOSELECTOR"]').change(function() {

也有一種方法,當「選擇」被禁用時,它會自動轉到第一個選項?謝謝你在前進

+0

你檢查,以確保道路的js/jquery.js和是正確的位置上的服務器?如果您使用Firefox,Firebug將幫助您檢查。如果不這樣做,你是否使用了其他可能與JQuery衝突的JS庫? – Cthos 2011-04-23 02:44:56

+0

你確定你正在加載jquery嗎(是正確的路徑?) 我在想這是這種情況,因爲它工作在jsFiddle,它爲你加載jQuery。 – BraedenP 2011-04-23 02:45:47

+0

如果你將代碼封裝在一個閉包中並傳入'jQuery',你會得到什麼? – Alex 2011-04-23 02:45:57

回答

2

加載DOM之前你做你綁定。你需要用你的腳本

$(document).ready(function() { 
}); 

或同一事物的簡寫

$(function() { 
}); 
+0

偉大的作品!有沒有辦法,如果有人從選擇一些東西,然後按不同的收音機,禁用選擇將自動轉到第一個選項? – Rafal 2011-04-23 13:16:17

+0

當然,你可以做到這一點。如果你的選擇總是包含一個第一個'

+0

該作品,但不是在IE瀏覽器,任何需要改變的IE瀏覽器?禁用工作,但它不會把它放在第一個選項。謝謝 – Rafal 2011-04-23 21:43:35

3

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

是不正確的路徑。嘗試

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

或使用

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js"></script> 

的小提琴作品,因爲它加載jQuery的爲您服務。

2

@Rafal:它看起來像你缺少

$(document).ready(function() { 
    // your code 
)}; 
+0

偉大的作品!有沒有辦法,如果有人從select中選擇一些東西,然後按不同的收音機,禁用的「select」會自動轉到第一個選項? – Rafal 2011-04-23 13:43:26

+0

@Rafal:你可以從'