如何使用jquery选择一个选项时禁用下拉列表

时间:2015-11-21 06:14:44

标签: jquery

以下是我的观看代码

    <select id ="hook_select" class="form-control" name="hook_select" >
       <option value="">---Select Hook---</option>
                    <?php 
                        if (isset($email_hooks))
                        {

                        foreach ($email_hooks as $key=>$val)
                        {
                            $select = isset($form_data["email_info"]) && $form_data["email_info"]->hook == $key ? "selected" : "";
                            echo "<option value='{$key}'{$select}>{$val['name']}</option>";
                        }
                        }
                    ?>
    </select> 

我想在使用jquery选择任何一个选项时禁用下拉列表。

我尝试了以下代码

    $(document).on("click", "#edit_email", function (event)
    {
        event.preventDefault();
        var y =$("#hook_select").val();
        $("#hook_select option[value*=" + y +".]").prop('disabled',true);


    });

是否可以在点击功能上传递所选值($(“#hook_select”)。val())?但我没有得到变量“y”的值。在我的代码中点击编辑链接重定向到下一页。

这里的视图代码是(查看源代码)

    <select id ="hook_select" class="form-control" name="hook_select">
    <option value="">---Select Hook---</option>
    <option value='pre_int_panel_invitation'selected>Pre-Int Panel Invitation</option>
    <option value='volunteer_interview_digest'>Daily Digest to Volunteers about Interview Invitation</option>                   
    </select>

1 个答案:

答案 0 :(得分:0)

你需要改变你的jquery函数。

html代码将是:

     <select id ="hook_select" class="form-control" name="hook_select">
         <option value="select">---Select Hook---</option>
         <option value='pre_int_panel_invitation' selected>Pre-Int Panel Invitation</option>
         <option value='volunteer_interview_digest'>Daily Digest to Volunteers about Interview Invitation</option>                   
     </select>

Jquery函数将是:

     $(document).ready(function(){
             var y = '';
             $("#hook_select").change(function(){
                 $("#hook_select").attr("disabled", "disabled");
                 y=$("#hook_select").val();
                 alert(y);
             });
         });