如何在更改复选框时取回输入值?

时间:2018-03-06 14:00:09

标签: javascript jquery html

代码片段如下:



  $('.fee_checkbox').on("change",function() {
    if ($(this).prop('checked')==false) {
      $('.actual_pay').val('0');
    }  else {
      $('.actual_pay').val();
    }
  });

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<input type="checkbox" checked="checked" class="fee_checkbox">
<input type="text" class="actual_pay" value="1000">
&#13;
&#13;
&#13;

此处选中复选框的默认行为,并且类actual_pay的输入框的值为1000.当用户取消选中时 复选框,actual_pay的值更改为0。

此后,当用户再次单击该复选框时,我需要返回1000的值,但现在返回0。当用户取消选中并选中复选框时,我需要获得1000的值。

2 个答案:

答案 0 :(得分:3)

您可以将值存储为data-

<input type="text" class="actual_pay" value="1000" data-value="1000">

这是一个片段:

  $('.fee_checkbox').on("change",function() {
    if ($(this).prop('checked')==false) {
      $('.actual_pay').data("value",$('.actual_pay').val()) ;
      $('.actual_pay').val( 0 );
    }  else {
      $('.actual_pay').val( $('.actual_pay').data("value") );
    }
  });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<input type="checkbox" checked="checked" class="fee_checkbox">
<input type="text" class="actual_pay" value="1000" data-value="1000">

答案 1 :(得分:1)

正如您所说,您需要取回新输入的值,因此您需要使用data-attributes

输入新值,此代码段显示如何取回这些新值。

$('.fee_checkbox').on("change", function() {
  var $actualPay = $('.actual_pay');
  if ($(this).prop('checked') == false) {
    $actualPay.data('current', $actualPay.val())
    $actualPay.val(0);
  } else {
    $actualPay.val($actualPay.data('current'));
  }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<input type="checkbox" checked="checked" class="fee_checkbox">
<input type="text" class="actual_pay" value="1000" data-value="1000">

文档