在触发.change事件后,我正在尝试获取所选单选的值。我需要使用外部函数来执行此操作,但我似乎无法获得正确的值。
HTML:
<input type="radio" name="myradio" value="1.0"> 1.0
<input type="radio" name="myradio" value="2.0"> 2.0jQuery:
$("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()函数中获得好的RADI值,而不需要向它传递任何参数。
我怎么能做这样的事情呢?
发布于 2013-04-27 00:49:51
在您的TEST()函数中尝试执行以下操作:
var radio_value = parseFloat($("input[type='radio'][name='myradio']").val());因为它们具有相同的名称,所以您不需要担心使用:checked,尽管我不确定原因,但似乎这可能是您所看到的原因。
ps:你真的想在这些函数中设置一个全局radio_value变量吗?我假设为"no“,并在var声明前面加上了前缀。
https://stackoverflow.com/questions/16241379
复制相似问题