如何在使用$(“#id”).off()后启用事件处理程序;

How to enable event handlers after using $("#id").off();

本文关键字:off 启用 程序 事件处理 #id      更新时间:2023-09-26

我有一个带有下拉选择的搜索表单,使用户可以按特定列进行搜索。这是我的代码:

<form action="<?php echo site_url('admin/home/search');?>" method="post" accept-charset="utf-8"> 
<div class="pull-left" style="margin-left:150px" >  
    <select class="form-control pull-left" name="searchby" id="searchby" >
        <option class="label">- Search by -</option>
        <option value="name">Name</option>
        <option value="address">Address</option>
        <option value="date">Date</option>
    </select> 
</div>    
<div class="pull-right" style="margin-left:10px">
    <div class="input-group date col-sm-12">
        <input type="text" class="form-control" placeholder="Search " name="key_key" id="key_key" required /> 
        <div class="input-group-btn">
            <button class="btn btn-md" type="submit"><span class="fa fa-search"></span></button>
        </div>
    </div>
</div> 

我也使用过日期选择器。每当<select>标记的值为date时,我就会触发日期选择器。。我想,为了禁用它,我使用了类似于$("#id").off();的东西。但问题是,当删除事件处理程序后的值再次为date时,日期选择器不会弹出。为了进一步理解它,下面是我的jquery代码:

$('#searchby').on('change', function() {
if(this.value=="date"){
     $("#key_key").on();
     $('#key_key').datepicker();
}
else{
    // $('#key_key').datepicker("disable");
    $("#key_key").off();
}
})

有人能帮我吗?提前感谢:)

试试这个小提琴。它有效。

$(document).ready(function () {
    //$('#key_key').datepicker();
 $('#searchby').on('change', function () {
        if (this.value == "date") {            
            $('#key_key').datepicker();
        } else {
            $('#key_key').datepicker("destroy");
        }
    });   
});