我有多个包含不同值的按钮。
我的按钮: -
<button id="1" name="1" value="1">Button1</button>
<button id="2" name="2" value="2">Button2</button>
现在,如果我点击Button1,我应该得到它的价值。那是 1 ,如果我点击Button2,我应该得到值 2 。 我写了这段代码: -
<script type="text/javascript">
$("button").click(function() {
var fired_button = $("button").val();
alert(fired_button);
});
</script>
但它始终提醒 1 。我该怎么做才能修复我的代码?
答案 0 :(得分:13)
<强>已更新强>
使用this
代替button
:
var fired_button = $("button").val();
你必须使用this
来定位点击的当前按钮而不是button
,它将选择DOM中的所有按钮,.val()使它获得第一个按钮的值。 / p>
$("button").click(function() {
var fired_button = $(this).val();
alert(fired_button);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button id="1" name="1" value="1">Button1</button>
<button id="2" name="2" value="2">Button2</button>
答案 1 :(得分:2)
你可以尝试一些简单的事情:
$(this).val();
$(function(){
$("button").click(function() {
var fired_button = $(this).val();
alert(fired_button);
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button id="1" name="1" value="1">Button1</button>
<button id="2" name="2" value="2">Button2</button>
注意:您应该在文档准备好后添加事件侦听器。这就是为什么我把事件处理程序包含在
中$(function{})
这是
的简写$(document).ready(function(){})
有关此问题的详情,请查看here。
答案 2 :(得分:2)
您需要使用this
变量才能访问点击按钮的值。
<script type="text/javascript">
$("button").click(function() {
var fired_button = $(this).val();
alert(fired_button);
});
</script>
这将返回按钮的value
。
答案 3 :(得分:1)
在点击处理程序
中使用this
<script type="text/javascript">
$("button").click(function() {
var fired_button = $(this).val();
alert(fired_button);
});
</script>
答案 4 :(得分:1)
this
将为您提供已点击的元素$(this)
以获取jquery版本。
将您的代码更新为:
$("button").click(function() {
var fired_button = $(this).val();
alert(fired_button);
});
答案 5 :(得分:1)
尝试使用$(this).val();
。它将返回单击的按钮值。
答案 6 :(得分:0)
试试$(this).val()
。
&#39;这&#39;总是指当前的对象。
答案 7 :(得分:0)
如果您使用的是jQuery,那么您正在寻找.attr()函数。
$(this).attr("value")
该代码将为您提供$(this)设计的html元素的value属性(或者您精确指定元素的ID)。