根据单击一组href链接来设置输入字段的值

时间:2019-02-28 21:05:04

标签: javascript jquery

我有这个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数字值,并覆盖输入的旧值。

但是,它仅更新第一次点击的值。随后,单击输入字段值中的任何操作。我哪里错了?另外,如何删除$符号?请帮助。

3 个答案:

答案 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);

    });
});

尝试代码并返回,没有测试错误