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

わかった!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 に答える
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 に答える
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 に答える