0

下面的代码是我的 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隐藏. 这是所有三个下拉菜单的选项SELECTEDdiv

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

2 回答 2

1

由于您似乎希望所有选择都使用其默认值,因此我建议使用以下方法:

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

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

如果你使用回调,你可以使用$(this)代替 $('#fa8')

$('#fa8').slideUp("fast", function() {
    $(this).find("select").find("option:first").prop("selected", true);
});

如果您采用“多行”方法,请将选择器存储$('#fa8')在一个变量中,这样您就不会运行两次选择:

var $wrapReqResp = $('#fa8');

$wrapReqResp.slideUp("fast");
$wrapReqResp.find("select").find("option:first").prop("selected", true);
于 2013-10-07T17:35:48.663 回答
1

使用回调slideUp并将每个的 0 索引设置为通过prop()

$('#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
}); 
于 2013-10-07T17:21:06.387 回答