Не знаю, понял ли я, что вы пытаетесь сделать, но, возможно, следующий код поможет.
http://jsfiddle.net/cfQSr/19/
Добавляет класс mismatch
к td
s, чьи input
s не совпадают, если соответствующие select
имеют одинаковое значение:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>js</title>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js"></script>
<style type="text/css">
.mismatch {
background: #ff9999;
}
</style>
</head>
<body>
<form name="form1" ID="form1" action="array_script.cfm">
<table id="test1">
<tr>
<td>
<select name="selectA" id="selectA" class="priceA">
<option id="A" value="">None</option>
<option id="A" value="A">A</option>
<option id="A" value="B">B</option>
<option id="A" value="C">C</option>
</select>
</td>
<td>
<input id="priceA" type="text" name="price" value="8.99">
</td>
<td>
<input id="perCaseA" type="text" name="perCase" value="4">
</td>
</tr>
<tr>
<td>
<select name="selectB" id="selectB" class="priceB">
<option id="B" value="">None</option>
<option id="B" value="A">A</option>
<option id="B" value="B">B</option>
<option id="B" value="C">C</option>
</select>
</td>
<td>
<input id="priceB" type="text" name="price" value="8.99">
</td>
<td>
<input id="perCaseB" type="text" name="perCase" value="4">
</td>
</tr>
<tr>
<td>
<select name="selectC" id="selectC" class="priceC">
<option id="C" value="">None</option>
<option id="C" value="A">A</option>
<option id="C" value="B">B</option>
<option id="C" value="C">C</option>
</select>
</td>
<td>
<input id="priceC" type="text" name="price" value="8.99">
</td>
<td>
<input id="perCaseC" type="text" name="perCase" value="4">
</td>
</tr>
</table>
</form>
<script type="text/javascript">
(function () {
"use strict";
$('#form1').bind('change', function (evt) {
$('td.mismatch', this).removeClass('mismatch');
var selects = $('select', this);
$(selects).each(function () {
var that = this;
$(selects).not(this).each(function () {
// we have a similar select
if ($(this).val() !== '' && $(this).val() === $(that).val()) {
// now compare inputs
var
thisInputs = $('input', $(this).closest('tr')),
thatInputs = $('input', $(that).closest('tr'));
$(thisInputs).each(function (i) {
if ($(this).val() !== $(thatInputs).eq(i).val()) {
$(this).closest('td').addClass('mismatch');
$(thatInputs).eq(i).closest('td').addClass('mismatch');
}
});
}
});
});
});
}());
</script>
</body>
</html>