下拉列表不保留选定的值

时间:2015-10-20 03:01:04

标签: jquery grails gsp

该值不会保留,并在选择后继续返回第1个值。

这是我的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>

1 个答案:

答案 0 :(得分:0)

我不完全理解你为什么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

希望这有帮助。