Javascript 如何使用Jquery更新收音机的值

Javascript 如何使用Jquery更新收音机的值,javascript,jquery,Javascript,Jquery,我有以下收音机的HTML代码: <input type='radio' name='a_27' value='Yes' id='a_27_0' /> <input type='radio' name='a_27' value='No' id='a_27_1' /> 但是它不起作用,运行时不会发生任何事情。以下是Firebug控制台的输出,发生在第3行之后: 名字是a_27,val是Yes 有什么想法吗 我更喜欢一种同样适用于s的方法,这样我就不需要为收音机和选择器编写

我有以下收音机的HTML代码:

<input type='radio' name='a_27' value='Yes' id='a_27_0' />

<input type='radio' name='a_27' value='No' id='a_27_1' />
但是它不起作用,运行时不会发生任何事情。以下是Firebug控制台的输出,发生在第3行之后:

名字是a_27,val是Yes

有什么想法吗

我更喜欢一种同样适用于
s
的方法,这样我就不需要为收音机和选择器编写额外的/单独的代码

编辑:我注意到一个奇怪的问题,尽管我的html代码给出了不同的值(是/否),但在firebug中,它显示两个收音机都有值“是”。如果我选择“否”并单击“保存”,javascript函数仍然会收到“是”而不是“否”。我是否做错了什么

编辑2:完整功能:

function processMultiOptAnswers()
{
    $.each(multiOpts,function()
        {
            var field="a_" + this.id;
            console.log("name is " + field + ", val is " + this.value);

            $('[name="' + field + '"]').val(this.value);
        }
    );
}

如果
此.value
不同,则您的日志应为

$('[name="' + field + '"]').val(this.value);
console.log("name is " + field + ", val is " + $('[name="' + field + '"]').val());
使其处于选中状态

$('[name="' + field + '"]').attr("checked", "checked");

我没有对此进行测试,但您可能必须从其他属性中删除该属性。

您是否可以添加一些额外的细节,特别是您的javascript被调用的上下文,因为这将有助于您准确了解“this”是什么。我猜这是一个onclick?它发生在$(document.ready()$('[name=“'+field+'“]')).val(this.value)上;选择两个收音机。。。为什么您希望两个收音机具有相同的值?您确定要使用checked=“checked”属性,因为这在目前毫无意义。另外,如果它在document ready上运行,您是说‘this’=文档吗?啊,谢谢。我刚刚想,通过使用name=我可以同时访问两台收音机。但是如果不这样做,也不知道我要选择的收音机的id,我如何设置要选择的收音机?例如,如果两个值都未选中,但我想选择表示“是”的收音机,我如何选择它?奇怪的是,这确实给出了新的(更改的)值,但在表单本身上没有选择适当的值。我创建收音机的html代码是否有问题?这使收音机被选中,但它仍然显示所有收音机的相同值…选择器应该使用ID而不是名称来选择收音机,因为它们都共享相同的名称-您正在将所有收音机一次更新为新值。是否无法选择我要选择的收音机想要不知道收音机的id吗?例如,如果我想选择说“不”但不知道其id的收音机,如何选择?(Dan,我没有选中你的答案,因为使用name=…更新两个收音机的值,而不是选择值为“Yes”的收音机
$('[name="' + field + '"]').attr("checked", "checked");