Javascript Jquery:获取最近按钮的值
这是我的html代码Javascript Jquery:获取最近按钮的值,javascript,jquery,html,Javascript,Jquery,Html,这是我的html代码 <div class="panel-footer"> <div class="input-group"> <input id="btn-input" class="form-control input-sm chat_input message" type="text" placeholder="Write your message here..." ng-model="messageToSend"> <span class="in
<div class="panel-footer">
<div class="input-group">
<input id="btn-input" class="form-control input-sm chat_input message" type="text" placeholder="Write your message here..." ng-model="messageToSend">
<span class="input-group-btn">
<button id="btn_chat" class="btn btn-primary btn-sm btn_chat" value="79">Send</button>
</span>
</div>
<div class="input-group">
<input id="btn-input" class="form-control input-sm chat_input message" type="text" placeholder="Write your message here..." ng-model="messageToSend">
<span class="input-group-btn">
<button id="btn_chat" class="btn btn-primary btn-sm btn_chat" value="80">Send</button>
</span>
</div>
</div>
卡在id上,它始终显示未定义
如何获取按钮值跨距是下一个同级,而按钮是跨距的后代,因此使用它将不起作用 用于查找祖先元素和下一个同级元素 在您的情况下,您应该使用查找范围并使用查找子体按钮
var id = $(this).next('span').find('button.btn_chat').val();
演示:
另一个更简单的解决方案是使用
data-*
属性将值存储在输入元素本身中,就像
<input id="btn-input" class="form-control input-sm chat_input message" type="text" placeholder="Write your message here..." ng-model="messageToSend" data-id="79">
我已经插入了代码。在这里,id没有给出未定义的
$(文档).on('keypress','message',函数(e){
如果(e.which==13){
var msg=$(this.val();
var id=$(this.next('span').find('button.btn_chat').val();
警报(msg);
警报(id);
}
e、 预防默认值();
});代码>
发送
发送
$(此)。最近('span')
将搜索文本框最近的父span标记,而您需要相邻的span标记。尝试将next()
与find()
一起使用:
$(函数(){
$('input:text.message')。在('keypress',函数(e)上{
如果(13!==e.which)返回;
var btn=$(this.next().find('.btn_chat');
log(this.value,btn.val());
});
});代码>
发送
发送
尝试使用$(this.parent().closest('span').next('button.btn_chat').val() 您的按钮
和输入
标记具有相同的id?
<input id="btn-input" class="form-control input-sm chat_input message" type="text" placeholder="Write your message here..." ng-model="messageToSend" data-id="79">
var id = $(this).data('id');