我在输入按钮上使用jquery.on来识别按下了哪个按钮。我想使用输入按钮上的一个属性中的值设置文本字段的值。
jquery
$('input.btne').on('click', function () {
var btn = $(":input[type=button]:focus");
var amount = btn.attr("amount");
$("#fee_amount").val(amount);
});
html
<input type="text" id="fee_amount" />
<input type="button" id="idF" class="btne" optionText="My option Text" amount="123.00" value="Edit" />
我试过这样做,但它说未定义 警报($( “#FEE_AMOUNT”)VAL());
金额是正确且存在但不会进入fee_amount字段。任何人都可以对我做错了吗?
答案 0 :(得分:1)
您在选择器txt_feeamount
中提供的错误ID应为fee_amount
,因为您输入的内容为fee_amount
而不是txt_feeamount
请注意,您可以使用$(this)
或this
代替var btn = $(":input[type=button]:focus");
获取活动来源。此处:焦点也没有任何意义。
<强> Live Demo 强>
$('input.btne').on('click', function () {
$("#fee_amount").val($(this).attr('amount'));
});
定义属性就像你有金额不是好习惯。您应该使用 data-* attributes 。金额属性将是数据金额。
使用数据来定义数据属性
<强> Live Demo 强>
HTML 的
<input type="text" id="fee_amount" />
<input type="button" id="idF" class="btne" optionText="My option Text" data-amount="123.00" value="Edit" />
的Javascript
$('input.btne').on('click', function () {
$("#fee_amount").val($(this).data('amount'));
});
答案 1 :(得分:0)
首先,您不应使用amount
之类的自定义属性来传达数据;最好使用数据属性:
<input type="text" id="fee_amount" />
<input type="button" id="idF" class="btne" data-amount="123.00" value="Edit" />
其次,要点击当前按钮,您只需引用this
。
最后,您使用错误的选择器进行文本框插座; #fee_amount
vs #txt_feeamount
。
然后代码变为:
$('.btne').on('click', function() {
$('#fee_amount').val($(this).data('amount'));
});