我試圖表明文本不能發送,顯示灰色輸入提交按鈕與類btn-primary
。相反,btn-default
是一個彩色輸入按鈕。 但是,在一個站點上有很多textareas,因爲我的JQuery代碼應該用於發佈新狀態並評論幾個狀態條目(如在Facebook中)。JQuery:選擇以特定名稱結尾的所有ID並更改其兄弟輸入按鈕
這就是爲什麼發佈一個新的狀態有一個唯一的ID名爲status_textarea
和評論textarea有一個像comment_textarea39
例如id。所以在評論textareas結尾處總會有一個數字。這是我的第一個問題就是我的代碼:
$('[id$=_textarea]').on('click contextmenu keyup blur', function(e) {
var text = $(this).val();
var button = $(this).parent().hasClass('btn-primary');
button.val(123); // Test to find the input button
if (text.length < 1) $(button).removeClass('btn-default').addClass('btn-primary');
else $(button).removeClass('btn-primary').addClass('btn-default');
});
我可以選擇與本我的狀態textarea的,但不是我的評論文字區域(一個或多個),因爲這些有一個id在最後就像我提到的(例如:comment_textarea39
) 。所以我需要一個像通配符選擇的東西,它只搜索:以_textarea結尾的ID並忽略該ID在之後命名的內容。
然後我也想選擇下一個輸入(最近「這個」 textaera之後)具有類btn-primary
將其切換到btn-default
。
EDIT
HTML示例:
狀態撰寫文本區域:
<form id="statusForm">
<input type="hidden" name="privacy" value="0" autocomplete="false">
<textarea id="status_textarea" name="text" style="min-height:55px"></textarea>
<input id="status" data-case="status" data-form="#statusForm" type="submit" class="modal-send mt15 mb15 btn btn-primary" value="Senden" autocomplete="false">
</form>
註釋文本區域:
<form id="commentForm82">
<textarea id="comment_textarea82" name="text" class="comment mb15" placeholder="Hier kommentieren..."></textarea>
<input type="hidden" name="log_id" value="82" autocomplete="false">
<input id="comment" data-case="comment" data-form="#commentForm82" data-hide="1" data-hide-success="1" type="submit" class="modal-send pull-right btn btn-default" value="Senden">
</form>
可以共享HTML樣品 –
在第一種情況下,有一個隱藏的'input'你想改變它的類:如果它在地圖的模式匹配?在第二種情況下哪些輸入的類必須更改 –
對不起,我剛更新了HTML,我在代碼中犯了一個錯誤,發送按鈕超出了表單的範圍。因爲我正在使用ajax,它仍然有效,我沒有注意到。不過,我只需要找到最接近的輸入按鈕,其類別爲'btn-primary'或'modal-send'。這是發送按鈕。 @ArunPJohny – AlexioVay