如何将下拉选项更改为使用jquery选择的默认值

时间:2013-10-07 17:18:37

标签: javascript jquery html

下面的代码是我的html表单下拉菜单的一部分:

<div class="wrap-quest-resp" id="fa8">
    <div class="input-quest-no-height">FA and port - 8</div>
    <div class="input-resp-no-height">
        <select id="fa-select-8" name="fa-select-8">
        <option disabled="disabled" SELECTED >Dir</option>
        <option <?php if ($_POST['fa-select-8']==1)  {echo "selected='selected'"; } ?> >1</option>
        <option <?php if ($_POST['fa-select-8']==2)  {echo "selected='selected'"; } ?> >2</option>
        <option <?php if ($_POST['fa-select-8']==3)  {echo "selected='selected'"; } ?> >3</option>
        <option <?php if ($_POST['fa-select-8']==4)  {echo "selected='selected'"; } ?> >4</option>
        <option <?php if ($_POST['fa-select-8']==5)  {echo "selected='selected'"; } ?> >5</option>
        </select>

        <select id="proc-select-8" name="proc-select-8">
        <option disabled="disabled" SELECTED >Proc</option>
        <option <?php if ($_POST['proc-select-8']==a) {echo "selected='selected'"; } ?> >a</option>
        <option <?php if ($_POST['proc-select-8']==b) {echo "selected='selected'"; } ?> >b</option>
        </select>

        <select id="port-select-8" name="port-select-8">
        <option disabled="disabled" SELECTED >Port</option>
        <option <?php if ($_POST['port-select-8']==0) {echo "selected='selected'"; } ?> >0</option>
        <option <?php if ($_POST['port-select-8']==1) {echo "selected='selected'"; } ?> >1</option>
        </select>
    </div>
    </div>

我使用这个jquery来隐藏上面提到的div及其下拉选择

$('#fa8').slideUp("fast"); 

我想隐藏option时将所选的SELECTED更改为其默认div选项。这是所有三个下拉菜单的下面选项

<option disabled="disabled" SELECTED >Dir</option>
<option disabled="disabled" SELECTED >Proc</option>
<option disabled="disabled" SELECTED >Port</option>

2 个答案:

答案 0 :(得分:1)

使用slideUp的回调,并通过prop()

将每个的0索引设置为选中
$('#fa8').slideUp("fast", function() {
    //Set the 0 index as selected
    $("#fa-select-8 option").eq(0).prop("selected", true);
    //do the same for the rest, change the ID
}); 

答案 1 :(得分:1)

由于您似乎希望所有选择都转到默认值,我建议使用此选项:

$('#fa8').find("select").find("option:first").prop("selected", true);

根据您的代码的实现方式,您可以将其作为回调的一部分,如 tymeJV 建议,或者只是将其放在{{之后的下一行。 1}}调用代码。

如果您使用回调,则可以使用slideUp代替$(this)

$('#fa8')

如果您选择“多行”方法,请在变量中存储$('#fa8').slideUp("fast", function() { $(this).find("select").find("option:first").prop("selected", true); }); 的选择器,这样您就不会运行两次选择:

$('#fa8')