我有表格。我添加两个按钮使用JQuery。我怎样才能得到这个按钮的名字?
<form id="frm">
</form>
//JQuery:
$("#frm").append('<input class="btn" type="submit" name="GoTest" value="Preview"/>');
$("#frm").append('<input class="btn" type="submit" name="GoTest1" value="Next"/>');
$("#frm").on("click", function () {
if (this...=="Next")
{
alert("It's button Next");
}else
{
alert("It's button Preview");
}
});
答案 0 :(得分:2)
在你的问题中,你要求提供名字,但是文字“下一步”是值......所以试试这个:
$("#frm").on("click", '.btn', function (e) {
e.preventDefault();
if (this.value=="Next")
{
alert("It's button Next");
}else
{
alert("It's button Preview");
}
});
如果您想获取名称,可以在点击功能中使用$(this).prop('name');
。
答案 1 :(得分:1)
if($(this).val() == "Next"){
}
答案 2 :(得分:1)
您需要使用.on()
的事件委派语法:
$("#frm").append('<input class="btn" type="submit" name="GoTest" value="Preview"/>');
$("#frm").append('<input class="btn" type="submit" name="GoTest1" value="Next"/>');
$('#frm').on('click', '.btn', function () {
console.log($(this).attr('name'))
});
<强> jsFiddle example 强>
$(this).attr('name')
获取您要求的名称,但是如果您想要该值,请改用$(this).val()
。
答案 3 :(得分:1)
$("#frm").on("click", function (event) {
if (event.target.attr("value") === "Next")
{
alert("It's button Next");
}else
{
alert("It's button Preview");
}
});
答案 4 :(得分:1)
按钮的名称与按钮的值不同。
$("#frm").on("click", function (ev) {
alert($(ev.currenTarget).prop('name'));
}
答案 5 :(得分:1)
<强> HTML:强>
<form id="frm"></form>
<强> JS:强>
$(function () {
$("#frm").append('<input class="btn" type="submit" name="GoTest" value="Preview"/>');
$("#frm").append('<input class="btn" type="submit" name="GoTest1" value="Next"/>');
$("#frm > .btn").on("click", function (e) {
e.preventDefault();
if ($(this).val() == "Next") {
alert("It's button Next");
} else {
alert("It's button Preview");
}
});
});
$(function () {
$("#frm").append('<input class="btn" type="submit" name="GoTest" value="Preview"/>');
$("#frm").append('<input class="btn" type="submit" name="GoTest1" value="Next"/>');
$("#frm > .btn").on("click", function (e) {
e.preventDefault();
alert("It's button " + $(this).val());
});
});
$(function () {
$("#frm").append('<input class="btn" type="submit" name="GoTest" value="Preview"/>');
$("#frm").append('<input class="btn" type="submit" name="GoTest1" value="Next"/>');
$("#frm > [name^='GoTest']").on("click", function (e) {
e.preventDefault();
alert("It's button " + $(this).val());
});
});
的 Documentation 强> 的
[attribute^=value]
:名称属性值以值开头的所有元素。
更新:要使用子属性,请注意e.preventDefault()将停止POST
html标记的自动FORM
。
答案 6 :(得分:0)
单击按钮时可以存储按钮的名称,然后检测单击了哪个按钮。