我有这个HTML代码,链接很少,例如:
$(function() {
$('#brad_button_770103363').click(function() {
//alert($(this).text());
var paypal = $(this).text();
//$('#paypal_donate_amount').val(paypal).trigger('change');
$('#paypal_donate_amount').val(paypal);
var paypal = null;
console.log(paypal);
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<a href="" id="brad_button_770103363">$20</a>
<a href="" id="brad_button_770103363">$50</a>
<!-- similar 10 links... -->
<input type="text" id="paypal_donate_amount" />
现在,我希望在ahref上的每次新点击,都在此输入字段中更新其val(),即仅20、50数字值,并覆盖输入的旧值。
但是,它仅更新第一次点击的值。随后,单击输入字段值中的任何操作。我哪里错了?另外,如何删除$符号?请帮助。
答案 0 :(得分:2)
这有效:
$(function(){
$('.brad_button_770103363').click(function(){
var paypal = $(this).text();
$('#paypal_donate_amount').val(paypal);
var paypal = null;
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<a href="javascript:void(0)" class="brad_button_770103363">$20</a>
<a href="javascript:void(0)" class="brad_button_770103363">$50</a>
<input type="text" id="paypal_donate_amount" />
我所做的是添加href="javascript:void(0)"
,因此它的行为不像链接。而且ID变成了类,因此,如果重复这些ID,就没有问题了。
答案 1 :(得分:0)
如果您可以控制HTML内容,我建议使用类似的方法...
$(function() {
$('.donateAmount').click(function() {
$('#paypal_donate_amount').val($(this).data('amount'));
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<a href="#" class="donateAmount" data-amount=20>$20</a>
<a href="#" class="donateAmount" data-amount=50>$50</a>
<input type="text" id="paypal_donate_amount" value="0" />
答案 2 :(得分:-1)
将id更改为class,因为id是唯一的,与class不同
<a href="" class="brad_button_770103363">$20</a>
<a href="" class="brad_button_770103363">$50</a>
<input type="text" id="paypal_donate_amount" />
<script type="text/javascript">
$.noConflict();
$(function(){
$('.brad_button_770103363').click(function(){
//alert($(this).text());
var paypal = $(this).text();
//$('#paypal_donate_amount').val(paypal).trigger('change');
$('#paypal_donate_amount').val(paypal);
var paypal = null;
console.log(paypal);
});
});
尝试代码并返回,没有测试错误