0

チェックボックスの値が調整されたときにテキストボックスを更新するにはどうすればよいですか?

たとえば、チェックボックス 1 から 6 が選択されているときにテキストボックスに 1-6 と表示され、3 がチェックされていない場合、テキストボックスに 1,2,4-6 または 1,2,4,5,6 と表示したいと思います。どうすればこれを行うことができますか。

これはこれまでのコードで、jsFiddle はhttp://jsfiddle.net/dYsg7/4/にあります。

// slider

$(".slider_weekRange2").slider({
    range: true,
    min: 1,
    max: 15,
    step: 1,
    values: [1, 12],
    slide: function (event, ui) {
        $(".search_weekRange2").val(ui.values[0] + "-" + ui.values[1]);
        $('input:checkbox[name="weeks_1"]').prop("checked", false);
        $('input:checkbox[name="weeks_1"]').slice(ui.values[0] - 1, ui.values[1]).prop("checked", true);
    }
});
$(".search_weekRange2").val($(".slider_weekRange2").slider("values", 0) +
    "-" + $(".slider_weekRange2").slider("values", 1));

// weeks

     // no weeks

$('.week_none').click(function () {
    $('input:checkbox[name="weeks_1"]').prop("checked", false);
        $(".search_weekRange2").val('');
});

        // all week

$('.week_all').click(function () {
    $('input:checkbox[name="weeks_1"]').prop("checked", true);
        $(".search_weekRange2").val('1-15');
});

        // weeks 1-12

$('.week_term').click(function () {
    $('input:checkbox[name="weeks_1"]').prop("checked", false);
    $('input:checkbox[name="weeks_1"]').slice(0, 12).prop("checked", true);
        $(".search_weekRange2").val('1-12');
});

        // odd weeks

$('.week_odd').click(function () {
    $('input:checkbox[name="weeks_1"]').prop("checked", false);
    $('input:checkbox[name="weeks_1"]:even').prop("checked", true);
        $(".search_weekRange2").val('1,3,5,7,9,11,13,15');
});

        // even weeks

$('.week_even').click(function () {
    $('input:checkbox[name="weeks_1"]').prop("checked", false);
    $('input:checkbox[name="weeks_1"]:odd').prop("checked", true);
        $(".search_weekRange2").val('2,4,6,8,10,12,14');
}); 
4

2 に答える 2

3

これはあなたの修正されたフィドルです: http://jsfiddle.net/dYsg7/5/

これは私が追加したコードです:

$('input:checkbox').click(function () {
    var s = [];
    $('input:checkbox').each(function () {
        if (this.checked) {
            s.push($(this).next().text());
        }
    });
   $(".search_weekRange2").val(s.join(','));
});

チェックボックスがクリックされると、各チェックボックスを調べ、チェックされている場合はラベルのテキスト (その後の次の項目) を配列に追加します。チェックされているチェックボックスをすべて収集したら、それらをすべてカンマで結合してから、出力に割り当てます。

于 2013-03-18T00:52:44.247 に答える
0

チェックボックスに onChange リスナーを追加し、文字列を作成してチェック ボックスを更新する関数を呼び出すのはどうでしょうか。

于 2013-03-18T00:46:53.633 に答える