0

我试图在触发 .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() 函数中获得良好的无线电值,而无需向其传输任何参数。

我怎么能做这样的事情?

4

1 回答 1

1

TEST()在你的函数中试试这个:

var radio_value = parseFloat($("input[type='radio'][name='myradio']").val());

由于它们具有相同的名称,因此您不必担心使用:checked,虽然我不确定为什么,但似乎这可能是您所看到的原因。

ps:你真的是要radio_value在这些函数中设置一个全局变量吗?var我假设“否”并在声明 前加上前缀。

于 2013-04-26T16:49:50.740 回答