0
これは簡単な質問ですが、修正方法はわかりません。私はいくつかの行を持ち、各行に3つの要素、マイナスボタン、数量プラスボタンがあります。すべてが大丈夫でしたが、テーブルの中に行を置くと、ボタンは数量フィールドに影響しません。さらに、レール付きの動的テーブルを作成していますが、HTMLで生成されたコードを書きました。私はそれを試してみましたが、コードは次のとおりです。テーブルのjquery内の複数のプラスとマイナスのボタンが機能しない
$('.add').click(function() {
if (!isNaN($(this).prev().val()))
$(this).prev().val(+$(this).prev().val() + 1);
else
$(this).prev().val(0);
});
$('.sub').click(function() {
if ((!isNaN($(this).next().val())) && ($(this).next().val() > 0))
$(this).next().val(+$(this).next().val() - 1);
else
$(this).next().val(0);
});
button {
margin: 4px;
cursor: pointer;
}
input {
text-align: center;
width: 40px;
margin: 4px;
color: salmon;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
<tbody>
<tr>
<td>
<button name="button" type="button" class="sub btn btn-default">-</button>
</td>
<td>
<input name="quantity" type="text" id="1" value="0" class="field" />
</td>
<td>
<button name="button" type="button" class="add btn btn-default">+</button>
</td>
</tr>
<tr>
<td>
<button name="button" type="button" class="sub btn btn-default">-</button>
</td>
<td>
<input name="quantity" type="text" id="2" value="0" class="field" />
</td>
<td>
<button name="button" type="button" class="add btn btn-default">+</button>
</td>
</tr>
</tbody>
</table>
<tbody>
<tr>
<td>
<button name="button" type="button" class="sub btn btn-default">-</button>
</td>
<td>
<input name="quantity" type="text" id="1" value="0" class="field" />
</td>
<td>
<button name="button" type="button" class="add btn btn-default">+</button>
</td>
</tr>
<tr>
<td>
<button name="button" type="button" class="sub btn btn-default">-</button>
</td>
<td>
<input name="quantity" type="text" id="2" value="0" class="field" />
</td>
<td>
<button name="button" type="button" class="add btn btn-default">+</button>
</td>
</tr>
</tbody>
.next/.prevコールはちょっと無意味です:私はこの解決策を見つけました。それぞれのボタンは表のセル内にある単一のタグです。つまり、兄弟は存在しません。したがって、next/prevには何も返されません。私はあなたが '量'入力をインクリメントしようとしていると推測していますので、 '$ this.parent()。find( 'input [name = quantity]')'のような何かをする必要があります。 –
さて、問題は、特定の 'quantity'入力と' 'input [name = quantity] ''を選択する必要があるということです。' 'quantity'という名前のすべての入力を選択します。あなたは私を理解していますか? – Giannkas
DOMはツリーです。すべてのノードはその親子を知っており、あなたは自明に上/下/横に移動することができるので、 '$ this.parent.next'はボタン→td(ボタン付き)→td(入力付き)それはちょうど入力を得るためにスポットを「下に」動かすことの問題です。 –