Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Jquery:获取最近按钮的值_Javascript_Jquery_Html - Fatal编程技术网

Javascript Jquery:获取最近按钮的值

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

这是我的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="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');