2015-09-04 38 views
3

請幫我出這一點,jQuery是在W3Schools的,但在我的Rails 2應用程序運作良好,它像支票收到錯誤沒有定義 這裏是我的html代碼:未捕獲的ReferenceError:檢查沒有定義

Checkbox: <input class="category_select" title="3" name="subject_ids[]" onchange="check(11,this)" type="checkbox" value="6"/> 

<input class="category_select" title="9" name="subject_ids[]" onchange="check(11,this)" type="checkbox" value="7"/> 

<input class="category_select" title="6" name="subject_ids[]" onchange="check(11,this)" type="checkbox" value="8"/> 

和Jquery的如下

<script type="text/javascript" src="https://code.jquery.com/jquery-1.11.3.js"> 
    function check(val,that) { 
    var total=parseInt(0,10); 
    $('.category_select').each(function(){ 
     if($(this).is(':checked')==true) 
     total=total+parseInt($(this).attr('title'),10); 
    }); 
    if (total > val){ 
     $(that).removeAttr('checked'); 
     alert('Total is greater than val !'); 

    }else{ 
     alert('Total is less than or equal to val !'); 
    } 
    } 
</script> 

上面的代碼工作得很好,但是當我將其插入到我的Rails應用其得到錯誤,我不知道我要去的地方錯了。 任何幫助是有價值的

回答

3

在軌道2 jQuery是不支持,所以我改變了我的腳本爲Javascript如下

<script type='text/javascript'> 
    function check_total(e,t){ 
value=parseInt(e); 
var a=parseInt(0); 
$$("input.category_select").each(function(e){1==e.checked&&(a+=parseInt(e.title))}),a>value?(alert("Total is greater than Total Subcategory Hours !"),t.checked=!1):a==value&&alert("Total is equal to Total Subcategory Hours !")} 
</script> 

謝謝您的回答。上面的腳本爲我工作

2

script elements可以有一個src屬性內容,但不能同時使用。如果他們同時擁有這兩個內容,則內容將被忽略(內容被視爲「腳本文檔」,而不是代碼)。

當您使用使用它的jQuery綁定事件處理程序使用其他腳本塊爲您的jQuery腳本

<script type="text/javascript" src="https://code.jquery.com/jquery-1.11.3.js"> 
</script> 
<script type="text/javascript" > 
    function check(val, that) { 
     var total = parseInt(0, 10); 
     $('.category_select').each(function() { 
      if ($(this).is(':checked') == true) 
       total = total + parseInt($(this).attr('title'), 10); 
     }); 
     if (total > val) { 
      $(that).removeAttr('checked'); 
      alert('Total is greater than val !'); 

     } else { 
      alert('Total is less than or equal to val !'); 
     } 
    } 

    $(function() { 
     $(document).on('change', '.category_select', function() { 
      check(11, this); 
     }); 
    }); 
</script> 

+0

連我自己也不靈 –

+0

@HemanthMC,擺脫直列單擊處理程序,並嘗試更新的代碼 – Satpal

+0

出了什麼差錯在我的劇本?你可以幫我嗎 –

0

1.您的腳本加載不正確。
2.您加載的腳本不在文檔範圍內。

注意:您必須使用單獨的腳本標籤來加載外部JS文件並編寫JS代碼。

嘗試這樣

<html> 
 

 
<head> 
 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
    <script type='text/javascript'> 
 
    function check(val, that) { 
 
     var total = parseInt(0, 10); 
 
     $('.category_select').each(function() { 
 
     if ($(this).is(':checked') == true) 
 
      total = total + parseInt($(this).attr('title'), 10); 
 
     }); 
 
     if (total > val) { 
 
     $(that).removeAttr('checked'); 
 
     alert('Total is greater than val !'); 
 

 
     } else { 
 
     alert('Total is less than or equal to val !'); 
 
     } 
 
    } 
 
    </script> 
 
</head> 
 

 
<body> 
 

 

 
    Checkbox: 
 
    <input class="category_select" title="3" name="subject_ids[]" onchange="check(11,this)" type="checkbox" value="6" /> 
 

 
    <input class="category_select" title="9" name="subject_ids[]" onchange="check(11,this)" type="checkbox" value="7" /> 
 

 
    <input class="category_select" title="6" name="subject_ids[]" onchange="check(11,this)" type="checkbox" value="8" /> 
 

 

 
</body> 
 

 
</html>

+0

感謝您的答案,但即使我嘗試了你的腳本後,我得到了相同的錯誤 –

+0

加載你的腳本,包含'檢查'頭部標籤中的功能,並嘗試 –

+0

對不起,我沒有得到你能幫我如何加載頭標記 –

相關問題