想利用JS添加RadioButtonList 子项 并标记新添加的字体颜色我的写法 好像不行
var rbltable = document.getElementById("RadioButtonList1");
var NodeInput = document.createElement("input");
NodeInput.setAttribute("value", message.c.f)
NodeInput.type="radio";
NodeInput.name="RadioButtonList1";
var Nodelable = document.createElement("label");
Nodelable.innerText= message.c.f;rbltable.appendChild(NodeInput);
rbltable.appendChild(Nodelable);
var rbltable = document.getElementById("RadioButtonList1");
var NodeInput = document.createElement("input");
NodeInput.setAttribute("value", message.c.f)
NodeInput.type="radio";
NodeInput.name="RadioButtonList1";
var Nodelable = document.createElement("label");
Nodelable.innerText= message.c.f;rbltable.appendChild(NodeInput);
rbltable.appendChild(Nodelable);
通过document.createElement('<input type="radio" name="name">');的方式创建吧
其他浏览器可以动态修改name值,LZ的代码在FF3.6下能通过把2种方法封装起来就好了。。
function createCxtjRadioButtons(data,cxtjId,cxtjTagId){
var tagCxtj = document.getElementById(cxtjTagId);
tagCxtj.removeChild(tagCxtj.childNodes[0]);
for (var key in data) {
var val = data[key];
var input = createElement("input", cxtjId);
input.setAttribute("type","radio");
input.setAttribute("value",key);
tagCxtj.appendChild(input);
var label = document.createElement("label");
label.setAttribute("for",input_id);
label.appendChild(document.createTextNode(val));
tagCxtj.appendChild(label);
}
}
function createElement(type, name) {
var element = null;
try {
// First try the IE way; if this fails then use the standard way
element = document.createElement('<'+type+' name="'+name+'">');
} catch (e) {
// Probably failed because we’re not running on IE
}
if (!element) {
element = document.createElement(type);
element.name = name;
}
return element;
}
var rad1
if(navigator.userAgent.toLowerCase().indexOf("ie")!=-1)
{
rad1=doc.createElement("<input type='radio' id='ip' name='rad1'>");
}
else
{
rad1=doc.createElement("input");
rad1.type="radio";
rad1.id="ip";
rad1.name="rad1";
}