日期:2014-05-18  浏览次数:20597 次

单选框问题web

<table width="100%" id="tb" class="table_2r" cellpadding="0" cellspacing="0">
<colgroup>
<col style="width: 80%" />
<col style="width: 20%" />
</colgroup>
<s:iterator value="#request.tbImgSelectedItem" var="tb" status="sta">
<tr>
<td>
<input type="hidden" class="tbImgSelectedItem" name="" value='${tb.id}' />
(<span class="table_line_num"><s:property value="#sta.index+1"/></span>) 
<input type="text" id="itemName" class="table_input" name="" value='${tb.item}' />
</td>
<td class="y_n">
<input type="radio" name='A' value="是" />
<span>是</span>
<input type="radio" name='A' value="否" />
<span>否</span>
<img src="../images/delete_line.png" class="del_line fn-right" />
</td>
</tr>
</s:iterator>
</table>
<script>
//添加行
$("#add_table_line_selected").click(function() {
var add_line_content = $(this).parent().siblings("table").find("tr:last");
var change_table = $(this).parent().siblings("table");
//add_line_content.clone(true).addClass("normal_input").appendTo(change_table).find(".table_input").val("");
add_line_content.clone(true).addClass("normal_input").appendTo(change_table).find(".tbImgSelectedItem").val("");
change_table.find(".table_input:last").val("");
$("table tr").each(function() {
var num = $(this).index();
var realnum = num + 1;
$(this).find(".table_line_num").html(realnum);
})
})
</script>


我现在想单选框中的值(是,否)保存到数据库中。当用户选择了 “是” 就存字符串"是"到数据库中。但是现在我是动态添加行的,添加的行把上一行所有的属性都复制了。我现在如果给单选框name='A'的话。添加的行也是这样的。所以所有的行都只能选一个单选框。我现在是想一行选择一个。改怎么做啊 。。后台又该怎么样去取值。。谢谢。。。新手

------解决方案--------------------
名字用A+#sta.index+1动态累加不可以么。。。
------解决方案--------------------
不用clone方法,设个全局变量,初始值为0或1,然后自己在js写插入的表格的代码<td>.....</td>,input中的name属性就变成A_(全局变量),然后全局变量+1,把生成的代码插入即可,或者遍历a=$('.y-n input'),for(i=0;i<a.length;i++) $(a).attr('name','A_'+i)试试,后者不知可不可成功
------解决方案--------------------
设个全局变量!添加一行这个变量加1 在添加到每个属性后面