首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jQuery:无线电.change函数,奇怪的bug

jQuery:无线电.change函数,奇怪的bug
EN

Stack Overflow用户
提问于 2013-04-27 00:46:51
回答 1查看 84关注 0票数 0

在触发.change事件后,我正在尝试获取所选单选的值。我需要使用外部函数来执行此操作,但我似乎无法获得正确的值。

HTML:

代码语言:javascript
复制
<input type="radio" name="myradio" value="1.0"> 1.0
<input type="radio" name="myradio" value="2.0"> 2.0

jQuery:

代码语言:javascript
复制
$("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值,而不需要向它传递任何参数。

我怎么能做这样的事情呢?

EN

回答 1

Stack Overflow用户

发布于 2013-04-27 00:49:51

在您的TEST()函数中尝试执行以下操作:

代码语言:javascript
复制
var radio_value = parseFloat($("input[type='radio'][name='myradio']").val());

因为它们具有相同的名称,所以您不需要担心使用:checked,尽管我不确定原因,但似乎这可能是您所看到的原因。

ps:你真的想在这些函数中设置一个全局radio_value变量吗?我假设为"no“,并在var声明前面加上了前缀。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16241379

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档