我有这样的代码:
<s:select id="s" list="list" listKey="id" listValue="displayValue">
当我从对象中获取值时,我将始终获得id。
如何以dinamically方式更改“listKey”值,以便我可以得到例如对象的名称(假设我的其他属性除了id之外的名称)而不是总是de id?
我在jQuery中尝试了一些代码:
function changeListKey(){
var id = $("#s").val();
$('#s').attr('listKey','name');
var name = $("#s").val();
document.write(name); // Only to test if I could get the value
}
当我执行它时,它似乎没有改变“lisKey”值,所以我可以得到另一个,什么是解决方案?
提前多多感谢。
John Smith。
答案 0 :(得分:1)
为什么要混淆用作关键值的内容?这会在服务器端造成混乱。
在任何情况下,listKey
都不是HTML属性,它是自定义标记属性,在呈现HTML并发送到客户端后无意义。您需要遍历HTML select元素的选项集合并更改选项上的值。
所有这一切都表明,在动作本身中做任何奇怪的操作,并且只在列表中公开所需的键/值对,你会更好 或者更容易,在地图中。使用地图消除了提供listKey
/ listValue
属性的需要 - 只需使用地图的键作为选项文本,将值作为选项的值。