0

チェックリストがあり、ユーザーが最初のオプションをチェックしたときに、その値を取得したいと考えています。次に、別のオプションをチェックしたときに、2 番目の値を個別に取得したいと考えています。これは私がこれまでに持っているコードです

$('input[type="checkbox"]').live('click', function() {
var values = [];

$('input[type="checkbox"]').each(function(index, value) {
    if (this.checked && $('input[type="checkbox"]:checked').length == 1) {

            values.push($(this).next().html());
        str1 = values[0];
        number1 = str1.replace(/\D/g,"");
        $('#resultsection p').html("<span>" + number1 + " </span> ");

    } else if (this.checked && $('input[type="checkbox"]:checked').length == 2) {

        values.push($(this).next().html());
            str1 = values[0];
            number1 = str1.replace(/\D/g,"");

            str2 = values[1];
            number2 = str2.replace(/\D/g,"");

            $('#resultsection p').html("<span>" + number1 + number2 + " </span> ");

    } else {

        $('#resultsection p').html("No metrics selected.");
    }
});

このコードを変更して機能させるのに多くの時間を費やしましたが、これまでのところ失敗しています。誰かがこのコードの何が問題なのか教えてもらえますか? ありがとう

ありがとう

4

1 に答える 1

0

私が言えることから、あなたのコードでは、$.each()関数の末尾がありません...開始していますが$.each(function(a,b) { 、終了していません。

$('input[type="checkbox"]').live('click', function() {
    var values = [];

  $('input[type="checkbox"]').each(function(index, value) {
    if (this.checked && $('input[type="checkbox"]:checked').length == 1) {

            values.push($(this).next().html());
        str1 = values[0];
        number1 = str1.replace(/\D/g,"");
        $('#resultsection p').html("<span>" + number1 + " </span> ");

    } else if (this.checked && $('input[type="checkbox"]:checked').length == 2) {

        values.push($(this).next().html());
            str1 = values[0];
            number1 = str1.replace(/\D/g,"");

            str2 = values[1];
            number2 = str2.replace(/\D/g,"");

            $('#resultsection p').html("<span>" + number1 + number2 + " </span> ");

    } else {

        $('#resultsection p').html("No metrics selected.");
    }
  }); // you forgot to end your each()
});
于 2012-11-20T17:47:41.197 に答える