Javascript字符串作为变量

Javascript string as variable

本文关键字:变量 字符串 Javascript      更新时间:2023-09-26

ok,我已经尝试了eval和window,但没有成功:

我收到一个单选按钮名称的一部分,然后我想用它来设置该按钮检查,下面是功能,如果我用其中一个产品的名称替换方括号,它就可以工作,所以我知道问题是在方括号中的东西,请帮助,我该如何做到这一点?

function load_rights(product)
{
document.form.window[product+"_radio_selection"][0].checked = true;
//also tried - var tempstr = eval(product+'_radio_selection');
//           - document.form.tempstr[0].checked = true;
}

在PHP中生成单选按钮:

echo "<input name='".$value."_radio_selection' type='radio' value='yes' />"
ehco "<input name='".$value."_radio_selection' type='radio' checked='checked' value='no' />"

你不能通过id来使用元素——它不适合单选按钮,相信我,前几天我花了一整天的时间来学习这个。

如果我尝试元素id并将id标签添加到html中,我会得到一个null错误,如果我使用窗口,我会得到一个null错误,但如果我放入一个产品,如document.form.Admin_radio_selection[0]。Checked = true;

假设您想要一个纯Javascript解决方案,我认为您最好的选择是将id放在无线电输入上。然后,您可以使用document.getElementById来获取该元素的句柄。

<input type="radio" id="foo_radio_selection" value="" />Foo<br />
<input type="radio" id="bar_radio_selection" value="" />Bar<br />
function load_rights(product) {
   document.getElementById(product+'_radio_selection').checked = true;   
}
load_rights('bar');

jsfiddle

你可以考虑使用jquery$(':checkbox').filter('name=somename').attr('checked',true);

这是最简单的方法。

或者也可以说document.form[0].<<checkboxname>>.checked=true

您需要使用getElementById()使用其ID检索元素:

var e = document.getElementById(product+"_radio_selection");
e.checked = true;

为了让这个工作,你需要添加id到你的单选按钮,如Mark Biek所示。