$('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;
我在这里选择输入和单选按钮。当选择更改时,值将存储在输入中,也会存储在单选按钮中data attr
。我得到data attr
的第一个值,但我无法获得更新的值以显示在输入文本中。但是在检查开发工具时,data attr
中的值正在发生变化。
问题:如何获取data attr
场景:加载后,在选择选项中选择1
。 1
将显示在输入中并存储在是单选按钮中data attr
。如果您点击No
输入数据0
,点击Yes
会将其变为1 data attr
。在select中选择2
会在输入中显示2
,也会在单选按钮的data attr
中显示是。点击否会再次将0
置于输入中,然后点击是会显示1
而不是2
,这是data attr
的当前值。
要求:点击“是”后,输入应显示2,即“是”按钮的data attr
答案 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);
}
});