-1

チェックボックス付きのグループを設定しています。チェックボックスをオンにしたときに各チェックボックスの値を取得し、その隣にあるカウンタースパン要素にこの値を追加しようとしていますが、チェックボックスのいずれかをクリックするたびに、すべてのカウンター要素の値。http://jsfiddle.net/creativestudio/xm838/を作成しました

これは私が使用しているJsです:

function set_index_id_checkbox() {
    $("input:checkbox[name='like']").each(function (index) {
        var currElem = $(this);
        var prevLabel = currElem.next();
        currElem.attr("id", this.id + index);
        prevLabel.attr("for", prevLabel.attr("for") + index);
    });
}

set_index_id_checkbox();

function getValues() {
    $("input:checkbox[name='like']").click(function () {
        if ($(this).is(':checked')) {
            $('.likes').html($(this).val());
        }
    });
}

getValues();
4

1 に答える 1

1

これは、クラスがのすべての要素を選択しているためです。ターゲット要素を選択するために、および/またはメソッドをlikes使用できます。prevfindclosest

$(this).parent().prev().find('.likes').html(this.value);

また:

if (this.checked) { // better than creating an unnecessary jQuery object
   $(this).closest('.block').find('span.likes').text(this.value);
} else {
  // ...
}

http://jsfiddle.net/Ud9T4/

于 2012-12-01T22:03:56.550 に答える