开发者

comparing 50 pairs of input textboxes

If I have 50 pairs of input text开发者_如何学编程boxes, i.e.

<input type="text" id="name_0" /><input type="text" id="name_1" />
<input type="text" id="dept_0" /><input type="text" id="dept_1" />

...

<input type="text" id="age_0" /><input type="text" id="age_1" />
<input type="text" id="weight_0" /><input type="text" id="weight_1" />

i.e 50 variables of these.

When the page loads, I populate each pair with identical data.

What is the best way to check if the _0 is different from the _1?

then returning a message showing which pair has changed.

The comparison should take place once the values have been changed and a button is clicked.


$("input[type=text]").each(function () {
  var $this = $(this);

  if ( /_0$/.test(this.id) ) {
    if ( $this.val() != $this.next("input").val() ) {
      $this.css("color", "red"); // or whatever
    }
  }
});


Tomalak's answer should work, but just in case your inputs are scattered or not necessarily beside each other, something like this should suffice.

$('input:text[id$="_0"]').each(function() {
    var new_id = this.id.replace('_0','_1');

    if ($(this).val() !== $('input#'+new_id).val()) {
        // not the same
    }
});


var changed = [];
$("[id$=_0]").each(function() {
  var name = this.id.replace("_0", "");
  if (this.value != $("#" + name  + "_1").val()) {
      changed.push(name);
  }
});
console.log(changed);
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜