次のhtmlコードがあります。
<form>
<table>
<tbody>
<tr>
<td>
<span>Quantity<span class="pull-right">3</span>
<input type="hidden" class="" value="3" name="quantity[]">
</td>
<td class="form-inline">
<label>Cantidad Warehouse</label>
<input id="qty_warehouse_1" type="text" name="cantidad_despacho[]" class="required input-mini">
</td>
</tr>
<tr>
<tr>
<td>
<span>Quantity<span class="pull-right">5</span>
<input type="hidden" class="" value="5" name="quantity[]">
</td>
<td class="form-inline">
<label>Cantidad Warehouse</label>
<input id="qty_warehouse_2" type="text" name="cantidad_despacho[]" class="required input-mini">
</td>
</tr>
<tr>
</tbody>
</table>
<button id="submit" value="send" name="button">Send</button>
</form>
各行が動的に生成される場所。Qty_warehouseという名前の入力ごとに検証を実行する必要があるため、その最大値は同じ行の非表示の値よりも大きくなりません。これは私がやろうとしてきたことです:
$(document).ready(function() {
$("form").validate();
$("[id*='qty_warehouse']").rules("add", {
required: true,
max: function() {
return $(this).parents("tr").eq(0).find("input[name='quantity[]']").val();
},
min: 0,
messages: {
required: "Introduzca la cantidad disponible en despacho"
}
});
$("#submit").click(function() {
alert($("form").valid());
});
});
どんな助けでも大歓迎です。これは、いくつかのテストを行いたい場合のフィドル リンクです。フィドル