0

我有一个带有选项的列表框 itemValue 是一个字符串,并且它的显示顺序不准确。

我在 $(document).ready(function(){$("#item").val(1) 上使用并将项目的索引位置设置为列表中的第一个。默认情况下它设置为一个选项在基于字母顺序的列表中,这不是我想要的。

使用 JQuery 设置我想要的初始值索引有效,但是当我发布页面时,如果返回页面时页面上有任何错误,列表中项目的值将返回到我在 document.ready 中设置的值() 功能。我怎么能克服这个。

代码

jQuery

$(document).ready(function(){

        $("#skinColorId").val(1);
});

html:

数据来自数据库

<li>
<form:label for="skinColorId" path="skinColorId">Select Skin Color</form:label>     
<form:select path="skinColorId" id="skinColorId" title="Select Skin Color">
<form:options items = "${skinColor.skinColorList}" itemValue="colorCode" itemLabel="colorDesc"/>
</form:select>          
<form:errors path="skinColorId" class="errors"/><label class="colorPreviewer" id="skinColorPreviewer">color previewer</label>
</li>

数据样本:

colorId|colorDesc|colorCode 155||选择颜色||#FFFFFF 156||Aqua||#00FFFF 157||海蓝宝石||#7FFFD4 158||Azure||#F0FFFF 159||米色||#F5F5DC 160||Bisque ||#FFE4C4 161||黑色||#000000 162||BlanchedAlmond||#FFEBCD

4

1 回答 1

3

尝试使用“selected”设置默认值。

例如:

<option value="value" selected="selected">choose one</option>

发布后...检查服务器的响应。

if (response.success) {
  //clear the items value by using ( $('#item').html('');})
else{
  //if response if failed... or some error occured
  //then have the same value for your option tag
}

你真的不需要检查 $(document).ready 也不需要在 jquery 中设置值......

试试看...希望它有效:)...

于 2012-12-28T19:36:53.997 回答