0

如果另一个文本输入具有值(M/DD/YYY 格式),我需要取消选中复选框(如果已选中)。我正在使用 glDatePicker 设置 #StartDate 的值,即通过 ajax 引入的内容,所以我使用 '.on' 功能

<div id="bottomContent">
    <input type="text" id="StartDate" name="StartDate"><br />
    <input type="text" id="EndDate" name="EndDate"><br />
    <label for="AllDate"><input type="checkbox" name="AllDate" id="AllDate">All Dates</label>
</div>

$(function() {
    $('#bottomContent').on('change', '#StartDate', function(e){
        var value = $(this).val();
        if ( value.length > 0  ) {
        //$('#AllDate').prop('checked', false);
        console.log('hi');
        }
    });
});

我很确定我的参数在 .on 参数中搞砸了。

4

3 回答 3

1

.prop('checked', false)应该按预期工作。尝试取消注释该行,它应该可以工作(参见下面的小提琴链接)。

$(function() {
    $('#bottomContent').on('change', '#StartDate', function(e){
        var value = $(this).val();
        if ( value.length > 0  ) {
             $('#AllDate').prop('checked', false);
        console.log('hi');
        }
    });
});

我之前推荐过使用.removeProp()但我弄错了。

在这里看小提琴 - http://jsfiddle.net/teddyrised/Xkvcx/

于 2013-03-08T20:48:20.473 回答
1

好的!给你,因为你正在使用 glDatePicker。

我也修改了 jsfiddle 来这样做。

http://jsfiddle.net/Xkvcx/8/

$(function() {
    $('#StartDate').glDatePicker({
        onClick: (function(el, cell, date, data) {
            el.val(date.toLocaleDateString());
            $('#AllDate').prop('checked', false);
        })
    });
});

使用此脚本,每当您选择一个可选日期时,它都会从 AllDate 中删除该复选框

显然这一切都来自这个参考: http: //glad.github.com/glDatePicker/#reference

谢谢,晚安!

于 2013-03-08T21:08:48.430 回答
0
$('#StartDate').on('change', function(e){
    $('#AllDate')[0].checked = $(this).val().length > 0;
});

例子


或者,如果您#bottomContent使用 AJAX 进行更新并且需要保持.on()绑定相同:

$('#bottomContent').on('change', '#StartDate', function(e){
    $('#AllDate')[0].checked = $(this).val().length > 0;
});

例子

于 2013-03-08T20:50:53.543 回答