获取数据的更新值attr jquery

时间:2016-02-23 04:22:57

标签: javascript jquery html



$('select').change(function() {
  var value = $('option:selected', this).val()

  //var sum = parseInt(value);
  if (value < '1') {
    $("#noradiobutton").attr('data-finalvalue', 0);
    $("#input:text").val(0);

  } else {
    console.log(value)
    $('#yesradiobutton').attr('data-finalvalue', value);
    $('#input:text').val(value);
  }


  $('input:text').val(value)

}).change();

$("input:radio[name=yesnoradiobuttongroup]").change(function() {
  var finalvalue;
  if ($("#yesradiobutton").is(':checked')) {
    finalvalue = $(this).data('finalvalue');
    console.log(finalvalue)
    $('input:text').val(finalvalue);
  }
  if ($("#noradiobutton").is(':checked')) {
    finalvalue = $(this).data('finalvalue');
    console.log(finalvalue)
    $('input:text').val(finalvalue);
  }
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<select>
  <option></option>
  <option value='1'>1</option>
  <option value='2'>2</option>
  <option value='3'>3</option>
  <option value='4'>4</option>
  <option value='5'>5</option>
</select>

<input type='text'>
<span><input type="radio" id="yesradiobutton" name="yesnoradiobuttongroup" value="0" class="InputBoxDe" checked/><label for="yesradiobutton">Yes</label></span>
<span><input type="radio" id="noradiobutton" name="yesnoradiobuttongroup" value="1" class="InputBoxDe" /><label for="noradiobutton">No</label></span>
&#13;
&#13;
&#13;

我在这里选择输入和单选按钮。当选择更改时,值将存储在输入中,也会存储在单选按钮中data attr。我得到data attr的第一个值,但我无法获得更新的值以显示在输入文本中。但是在检查开发工具时,data attr中的值正在发生变化。

问题:如何获取data attr

的最新值

场景:加载后,在选择选项中选择11将显示在输入中并存储在是单选按钮中data attr。如果您点击No输入数据0,点击Yes会将其变为1 data attr。在select中选择2会在输入中显示2,也会在单选按钮的data attr中显示是。点击否会再次将0置于输入中,然后点击是会显示1而不是2,这是data attr的当前值。

要求:点击“是”后,输入应显示2,即“是”按钮的data attr

FIDDLE DEMO

1 个答案:

答案 0 :(得分:1)

尝试此操作,而不是使用data使用attr来读取值

  $("input:radio[name=yesnoradiobuttongroup]").change(function () {
        var finalvalue;
        if ($("#yesradiobutton").is(':checked')) {
            finalvalue = $(this).attr("data-finalvalue")
            console.log(finalvalue)
            $('input:text').val(finalvalue);
        }
        if ($("#noradiobutton").is(':checked')) {
            finalvalue = $(this).attr("data-finalvalue")
            console.log(finalvalue)
            $('input:text').val(finalvalue);
        }
 });