关于jsp下拉框中值的显示

air58 2009-09-24 02:42:25
代码如下,求助各位,我需要在js中得到em.price和em.num的值,但是又不想再页面上把他们显示出来,应该怎么做?
<select name="id" class="textarea" id="iddd"
onblur="getAdvAndLeftInfo(this.options[this.selectedIndex].text);">
<option></option>
<s:iterator value="list" id="em" status="i">
<option id="optionid" value="<s:property value="#em.id" />">
<s:property value="#em.id" />?<s:property value="#em.price" />?<s:property value="#em.num" />
</option>
</s:iterator>
</select>

现在的代码可以实现在js中通过解析数据得到em.price和em.num的值,但是,下拉框中也会把他们都显示出来,这个比较郁闷。比如说,em.id是1,em.price是10,em.num是5,我需要下拉框中显示的是1,但是现在的效果是显示1?10?5。
另外,因为提交页面的时候需要提交em.id的值,所以,不能把<s:property value="#em.id" />?<s:property value="#em.price" />?<s:property value="#em.num" />写在option的value中,那样虽然能够在显示的时候正常显示,但是最后提交的id就是1?10?5这样的数据了。

在线等,能解决再加分。
...全文
212 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
sunnyfun888 2009-09-24
  • 打赏
  • 举报
回复
晕,少掉一点东西

<script language="JavaScript>

var em = new Array();
<s:iterator value="list" id="em" status="i">
em['<s:property value="#em.id" />'] = {id:'<s:property value="#em.id" />',price:<s:property value="#em.price" />,num:<s:property value="#em.num" />};
</s:iterator>

</script>

sunnyfun888 2009-09-24
  • 打赏
  • 举报
回复
js也支持对象啊,比如


<script language="JavaScript>

var em = new Array();
em['a'] = {id:'a',price:1,num:2};
em['b'] = {id:'b',price:10,num:20};

alert(em['b'].price);
</script>


那么你可以这么写:

<script language="JavaScript>

var em = new Array();
<s:iterator value="list" id="em" status="i">
em['<s:property value="#em.id" />'] = {id:'<s:property value="#em.id" />',price:<s:property value="#em.price" />,num:<s:property value="#em.num"};
</s:iterator>

</script>

air58 2009-09-24
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 redlotus_lyn 的回复:]
html标签支持自己定义属性.你调试看看。项目开发中已经用过,很实用。
[/Quote]
弱弱的问下,怎么追加给分呢?
air58 2009-09-24
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 redlotus_lyn 的回复:]
html标签支持自己定义属性.你调试看看。项目开发中已经用过,很实用。
[/Quote]

谢谢,问题解决了。我再给你加分。
redlotus_lyn 2009-09-24
  • 打赏
  • 举报
回复
html标签支持自己定义属性.你调试看看。项目开发中已经用过,很实用。
air58 2009-09-24
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 xiaozhangnima 的回复:]
你这样就要用map了
[/Quote]
能具体讲下么?谢谢
xiaozhangnima 2009-09-24
  • 打赏
  • 举报
回复
你这样就要用map了
air58 2009-09-24
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 redlotus_lyn 的回复:]
<select name="id" class="textarea" id="iddd" onblur="getAdvAndLeftInfo(this.options[this.selectedIndex].pnvalue);">
<option> </option>
<s:iterator value="list" id="em" status="i">
<option id="optionid" value=" <s:property value="#em.id" />" pnvalue=" <s:property value="#em.price" />? <s:property value="#em.num" />">
<s:property value="#em.id" />? <s:property value="#em.price" />? <s:property value="#em.num" />
</option>
</s:iterator>
</select>
[/Quote]

pnvalue?好像没有这个tag啊
air58 2009-09-24
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 gukuitian 的回复:]
你是说>? <s:property value="#em.price" />? <s:property value="#em.num" />
这两个值要存在,又也想显示?

那就别外写个
<s:iterator value="list" id="em" status="i">
<input type="hidden" value=' <s:property value="#em.price" />? <s:property value="#em.num" />
'>
</s:iterator>
[/Quote]
我想请教下,这样的话我应给怎么去获得这两个值呢?谢谢
redlotus_lyn 2009-09-24
  • 打赏
  • 举报
回复
<select name="id" class="textarea" id="iddd" onblur="getAdvAndLeftInfo(this.options[this.selectedIndex].pnvalue);">
<option></option>
<s:iterator value="list" id="em" status="i">
<option id="optionid" value="<s:property value="#em.id" />" pnvalue="<s:property value="#em.price" />?<s:property value="#em.num" />">
<s:property value="#em.id" />?<s:property value="#em.price" />?<s:property value="#em.num" />
</option>

</s:iterator>
</select>
gukuitian 2009-09-24
  • 打赏
  • 举报
回复
你是说>?<s:property value="#em.price" />?<s:property value="#em.num" />
这两个值要存在,又也想显示?

那就别外写个
<s:iterator value="list" id="em" status="i">
<input type="hidden" value='<s:property value="#em.price" />?<s:property value="#em.num" />
'>
</s:iterator>