You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Struts与JQuery将表格行值传递至单选按钮

解决Struts单选按钮通过jQuery赋值的问题

我懂你现在的困扰——文本框、日期选择器这些表单元素都能顺利从jqGrid获取数据赋值,唯独Struts的<s:radio>单选按钮搞不定,对吧?这是因为Struts的单选按钮标签和普通文本框不一样,它会渲染成多个独立的<input type="radio">元素:它们共享同一个name属性,但每个单选按钮都有自己的id(一般是你设置的id加上索引后缀,比如idMantGenero-0、idMantGenero-1),所以你之前用document.getElementById("idMantGenero").value的方式完全找不到正确的元素,自然没法赋值。

正确的赋值方法

你需要根据从jqGrid拿到的gen_pos值,找到对应value的单选按钮,然后设置它的checked属性为true。把你JavaScript代码里的单选按钮赋值部分替换成下面的代码:

原来的代码:

document.getElementById("idMantGenero").value = grid.jqGrid('getCell', sel_id, 'gen_pos');

替换为:

// 获取jqGrid里的性别值
var generoSeleccionado = grid.jqGrid('getCell', sel_id, 'gen_pos');
// 找到name为genero、值匹配的单选按钮,设置为选中状态
$('input[name="genero"][value="' + generoSeleccionado + '"]').prop('checked', true);

补充:更安全的写法(避免特殊字符问题)

如果你的性别值里可能包含引号这类特殊字符,用filter方法会更稳妥:

var generoSeleccionado = grid.jqGrid('getCell', sel_id, 'gen_pos');
$('input[name="genero"]').filter(function() {
    return $(this).val() === generoSeleccionado;
}).prop('checked', true);

这样就能精准定位到对应的单选按钮并设置选中状态啦~

内容的提问来源于stack exchange,提问作者Dayana Ortiz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 03:57:06