我试图在触发.change事件后获取所选无线电的值。我需要使用外部函数来执行此操作,但我似乎无法获得正确的值。
HTML:
<input type="radio" name="myradio" value="1.0"> 1.0
<input type="radio" name="myradio" value="2.0"> 2.0
jQuery的:
$("input[type='radio'][name='myradio']").change(function() {
//SHOWING GOOD VALUE
radio_value = parseFloat($(this).val());
alert(radio_value);
TEST();
}
function TEST(){
//SHOWING WRONG VALUE
radio_value = parseFloat($("input[type='radio'][name='myradio']:checked").val());
alert(radio_value);
}
例如,如果我单击收音机1.0,我点击收音机2.0,上面的jquery代码将输出2.0作为第一个警报,1.0输出为第二个警报。 TEST()函数输出旧值,好像无线电事件尚未发生。
我需要找到一种方法来在TEST()函数中获得良好的无线电值,而无需向其传输任何参数。
我该怎么做?
答案 0 :(得分:1)
在TEST()
函数中尝试此操作:
var radio_value = parseFloat($("input[type='radio'][name='myradio']").val());
由于它们具有相同的名称,您不必担心使用:checked
,虽然我不确定为什么,但似乎可能是导致什么你看到了。
ps:你真的意味着在这些函数中设置全局radio_value
变量吗?我假设“不”并以var
声明作为前缀。