<tr>
<td>
<input type="button" value="+" id="add1" class="add" />
<input type="text" id="score1" value="0" class="score" size="1" />
<input type="button" value="-" id="minus1" class="minus" />
</td>
<td>
<input type="button" value="+" id="add1" class="add" />
<input type="text" id="score2" value="0" class="score" size="1" />
<input type="button" value="-" id="minus1" class="minus" />
</td>
<td><input type="button" value="enter" id="update" class="update" ></td>
</tr>
<script type="text/javascript">
$(function()
{
$(".add").click(function()
{
var currentVal = parseInt($(this).next(".score").val());
if (currentVal != NaN)
{
$(this).next(".score").val(currentVal + 1);
}
});
$(".minus").click(function()
{
var currentVal = parseInt($(this).prev(".score").val());
if (currentVal != NaN)
{
$(this).prev(".score").val(currentVal - 1);
}
});
});
</script>
上記のコードは正常に動作します。 今、私は計算された結果をユーザーの入力に従って警告したいと思います。ここでは失敗します。以下のコード は動作しません。また、私は1つ以上の行(すなわちtr)を持っているので、私は多くの入力テキストとボタンを持っていると考えています。私がEnterボタンの1つを押すと、私はNaNを得ました。 plsは以下のコードを修正するのに役立ちます。要素のidのは、ページ内で一意であると事実あなたが直接、IDセレクタを使用することができることを考慮すべきであるJqueryのprevUntil()/ prev()関数
<script type="text/javascript">
$(document).ready(function(){
$('.update').click(function(){
var firstresult = parseInt($(this).prev("#score1").val());
var secondresult = parseInt($(this).prev("#score2").val());
if(firstresult < secondtresult) {
result = '2';
} else if(firstresult > secondtresult) {
result ='1';
} else if (firstresult = secondtresult) {
result = 'x';
}
alert(result);
});
});
</script>
FYIでは、同じid値を持つ複数のオブジェクトを持つことはできません。各IDは一意でなければなりません。 – jfriend00