2017-08-01 62 views
0

只有當輸入未被禁用時,纔會嘗試發送ajax請求。所以沒有disabled="disabled"屬性。檢查輸入是否因jQuery不能正常工作而被禁用

這裏是jQuery代碼:

if ($('#field_22Travel').not(':disabled')) { 
     //send ajax request 
     sendAjaxPrefs(catTag, remTag, unsubscribeTag, subscribeFlag); 
    } 

下面是HTML輸入:

<input id="field_22Travel" class="check-box" name="field_22Travel" value="Travel" disabled="disabled" type="checkbox"> 

我敢肯定,這是一些簡單的我失蹤只是不知道是什麼。 乾杯

+1

,它應該是「 #field_22搗毀'not'#field_22Travel' – Dij

+0

''field_22Travel''不是'field_22Camping' – chiliNUT

+1

你使用了錯誤的方法,['not()'](http://api.jquery.com/not/)排除了匹配jQuery對象中包含的選擇器的元素。你想使用['is()'](http://api.jquery.com/is/)並且否定返回:'!$()。is(':disabled')' –

回答

2

試用is()方法。

if (!$('#field_22Travel').is('[disabled=disabled]')) { 
 
     alert("hello") 
 
    };
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<button class="btn button" id="field_22Travel" disabled="disabled"></button>

+2

OP要發送請求,如果輸入*不*禁用。這是倒退。 – cjl750

+0

你說得對,我需要添加「!」之前「$('#...')」 – hansTheFranz

+2

您也正在使用「is()'引用的錯誤鏈接,相應的鏈接是http://api.jquery.com/is/ –

2

可以使用prop()只返回一個布爾值,像這樣:

if (!$('#field_22Travel').prop('disabled')) { 
 
    //send ajax request 
 
    sendAjaxPrefs(catTag, remTag, unsubscribeTag, subscribeFlag); 
 
};
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<button class="btn button" id="field_22Travel" disabled="disabled"></button>

您使用了錯誤的ID
+0

這也很好。謝謝Dij :) upvoted –