2009-10-06 100 views
0
<input type="radio" value="G;-;P063P081719;-;84.063" name="awardDetail"/> 
<input type="radio" value="G;-;P063P091719;-;84.063" name="awardDetail"/> 
<input type="radio" value="G;-;P063Q081719;-;84.063" name="awardDetail"/> 

我没有选择默认检查属性checked="checked"。当我选择一个单选按钮时,我正在进行基于Ajax的调用。jquery单选按钮检查属性?

$('input[name=awardDetail]:radio').click(function(){ 
    var awardinfo = $('input[name=awardDetail]:checked').val(); 

和发送此awardinfo给Ajax功能和从服务器返回的数据在DIV显示量。

但是,我的单选按钮被选中到上一个单选按钮而不是当前选定的单选按钮。

如何为这个单选按钮设置checked属性来动态地传递选定的索引。

单选按钮值组是从后端动态生成的。

回答

2

您可以使用关键字this(或使用event.target)引用处理程序中单击的单选按钮。例如

$('input[name=awardDetail]:radio').click(function(){ 
    var awardinfo = $(this).val(); 
    // other stuff here for ajax call, etc 
} 

$('input[name=awardDetail]:radio').click(function(event){ 
    var awardinfo = $(event.target).val(); 
    // other stuff here for ajax call, etc 
} 
+0

这是必要的,因为在你的点击处理程序被调用的时候,选择的按钮的变化还没有发生。 (事实上​​,如果您的事件处理程序返回false/preventDefault,则无法更改收音机。) – bobince 2009-10-06 15:37:17

+0

我的问题与获取值无关。我想要选择单选按钮。首先显示页面时,没有选择单选按钮。当我第一次选择时,选择一个单选按钮,如果我选择另一个单选按钮,则选择它作为ajax调用的时间,并在ajax调用之后选择第一个选定的单选按钮。 – prashanth 2009-10-06 15:40:46

+0

我试过这段代码,var awardinfo = $(this).val(); 我能够发送给服务器的值,但是页面加载后选择的第一个单选按钮,即在ajax调用之后选择的单选按钮,而不是新的单选按钮。 – prashanth 2009-10-06 15:41:51