该值不保留,选择后将保持返回到第一个值。
这是我的jQuery
<script>
if($("#ddlGender").val("Female")) {
$('select[name^="ddlGender"] option[value="Female"]').attr("selected","selected");
} else if($("#ddlGender").val("Male")) {
$('select[name^="ddlGender"] option[value="Male"]').attr("selected","selected");
} else {
$('select[name^="ddlGender"] option[value=""]').attr("selected","selected");
}
</script>
这是我的下拉列表
<select name="ddlGender" id="ddlGender" onchange="${remoteFunction(action: 'index', controller: 'Main', params:'\'id=\' + escape(this.value)', update: [success: 'd1', failure: 'ohno'], options: '[asynchronous: false]')}">
<option value="">--Select--</option>
<option value="Female">Female</option>
<option value="Male">Male</option>
</select>
最佳答案
我不太了解您为什么要执行select[name^="ddlGender"]
,因为简单的#ddlGender
可以为您带来相同的结果。
不过,据我了解,您在这里编码解决方案:
<select name="ddlGender" id="ddlGender">
<option value="">--Select--</option>
<option value="Female">Female</option>
<option value="Male">Male</option>
</select>
$('#ddlGender').on('change', function () {
if ($("#ddlGender option:selected").val()==='Female') {
$('#ddlGender option[value="Female"]').attr("selected", "selected");
} else if ($("#ddlGender option:selected").val()==='Male') {
$('#ddlGender option[value="Male"]').attr("selected", "selected");
} else {
$('#ddlGender option[value=""]').attr("selected", "selected");
}
});
JSFIDDLER
希望这可以帮助。