我试图表明文本不能发送,显示灰色输入提交按钮与类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