Javascript字符串作为变量

时间:2011-08-11 12:30:08

标签: javascript html

好吧我已经尝试过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并向html添加id标签我得到一个空错误,如果我使用窗口我得到一个空错误,但如果我放入其中一个产品,如document.form.Admin_radio_selection [0 ] .checked = true; IT工作,这太烦人了..

3 个答案:

答案 0 :(得分:1)

假设你想要一个纯粹的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

答案 1 :(得分:1)

您可以尝试考虑jquery $(':checkbox').filter('name=somename').attr('checked',true);

这是最简单的方法。

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

答案 2 :(得分:0)

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

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

为了实现这一点,您需要在单选按钮中添加ID,如Mark Biek所示。