0

我有一个清单,当用户检查第一个选项时,我想获得该值。然后,当他们检查另一个选项时,我想分别获得第二个值。这是我到目前为止的代码

$('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 回答