Javascript 发布动态单选按钮值 功能td(id,inc) { var idnew=$(id).attr(“id”); var tr=id; var tdchild=document.createElement('td'); tdchild.innerHTML=“”; tdchild.setAttribute(“id”,inc); tr.appendChild(tdchild); }
我的代码生成如上所述的动态单选按钮。但是我在发布单选按钮时遇到问题,只有设置/选中了单选按钮和复选框输入,才会发布它们。否则他们就不会出现在帖子里 我总是建议你循序渐进地做事。首先尝试使用静态html执行此操作。让它工作起来。然后返回并使其动态生成。此位:Javascript 发布动态单选按钮值 功能td(id,inc) { var idnew=$(id).attr(“id”); var tr=id; var tdchild=document.createElement('td'); tdchild.innerHTML=“”; tdchild.setAttribute(“id”,inc); tr.appendChild(tdchild); },javascript,html,radio-button,Javascript,Html,Radio Button,我的代码生成如上所述的动态单选按钮。但是我在发布单选按钮时遇到问题,只有设置/选中了单选按钮和复选框输入,才会发布它们。否则他们就不会出现在帖子里 我总是建议你循序渐进地做事。首先尝试使用静态html执行此操作。让它工作起来。然后返回并使其动态生成。此位: function td(id,inc) { var idnew=$(id).attr("id"); var tr=id; var tdchild = document.createElement('td');
function td(id,inc)
{
var idnew=$(id).attr("id");
var tr=id;
var tdchild = document.createElement('td');
tdchild.innerHTML="<input type=radio name=rd"+idnew+" value=rd"+idnew+"><input type=text name="+idnew+"[] size=5>";
tdchild.setAttribute("id",inc);
tr.appendChild(tdchild);
}
对我来说毫无意义。传递给函数的id值是多少?如果是元素,则可以直接读取其id属性:
> function td(id,inc) {
> var idnew=$(id).attr("id");
如果它是一个字符串id,那么它可以用作–is(如果您按id选择一个元素,那么您必须已经知道它):
在本部分:
var idnew = id;
tdchild.innerHTML=“”;
考虑创建基本元素,然后克隆它们,并在将它们添加到表单之前更改它们的名称和值。最后,在使用HTML时,请始终将属性值括在引号中。必须加引号的内容和不需要加引号的内容有很多种,但与其记住规则,不如始终使用引号(我更倾向于使用单引号表示脚本,使用双引号表示HTML),因此:
tdchild.innerHTML='';
HTML允许CDATA属性在提供该属性的情况下不加引号
值仅包含字母(a到z和a到z)、数字(0到9),
连字符(ASCII十进制45)或句点(ASCII十进制46)。属性
可以使用双引号或单引号(ASCII十进制)引用值
分别为34和39)。单引号可以包含在
当值由双引号分隔时的属性值,以及
反之亦然
从开始,HTML的更高版本保持兼容性。可以看出,如果方括号中的字符“[”和“]“要成为名称属性的一部分,整个属性值必须用引号括起来。我知道这些规则,但我的问题尚未解决。”。我需要保留执行post后形成的所有单选按钮。如果您知道规则,请将输入的名称用引号括起来。你所说的“保留执行post后形成的所有单选按钮”是什么意思?你的意思是他们应该被张贴,还是留在页面上?
var idnew = id;
tdchild.innerHTML="<input type=radio name=rd"+idnew+" value=rd"+idnew+"><input type=text name="+idnew+"[] size=5>";
tdchild.innerHTML = '<input type="radio" name="rd' + idnew + '" value="rd' + idnew +
'"><input type="text" name="' + idnew + '[]" size="5">';