いくつかの入力フィールドを検証したいと思います。以下のコードはフォーカスメソッドを除いて正常に動作します。私はフォーム上の入力場所に関連する "入力"変数を解釈できないことを期待しています。質問:20以上の入力があることを念頭に置いて、特定の入力の場所をどのように参照するのですか? tks!"this"を関数で参照する方法
function validateInput(quantity,input)
{
if (quantity.value !== " ") {
if(isNaN(quantity)) {
$(".myerror_alert").append('<div class="alert alert-danger"><strong>Warning!</strong> You have entered an non valid character, go back and enter a real number </div>');
input.focus(); // THIS DOES NOT WORK
return false;
}
}
return true;
}
$(".product_table").on('change', '.edit_quantity',function(){
var quantity = $(this).parents(':eq(1)').find('input').filter(".edit_quantity").val();
var input = $(this).parents(':eq(1)').find('quantity').filter(".edit_quantity");
validateInput(quantity, input);
// MORE CODE GOES HERE //
});
HTML:
<tr class='delete_row'>
<td><input class="product_id form-control" readonly="readonly" name="product_id[0]" type="text" value="123"></td>
<td><input class="edit_product_id form-control" readonly="readonly" name="product_id[0]" type="text" value="Euroshake Blackstone"></td>
<td><input class="edit_quantity" name="product_id[0]" type="text" value="120"></td>
<td id="price"><input class="unit_price form-control" readonly="readonly" style="text-align:right;" name="price" type="text" value="120.00"></td>
<td><input class="line_cost form-control" readonly="readonly" style="text-align:right;" name="cost" type="text" value="14400.00"></td>
<td>
<span style="padding-left:12px;"><input name="delete" type="checkbox" value="123"></span>
</td>
</tr>
あなたのHTMLも共有できますか? – LinkinTED
'validateInput'を呼び出す場所を表示しないので、パラメータとして渡すものがわかりません。 'input'がjqueryオブジェクトの場合にはうまくいくはずです – dan08
あなたは' $(input).focus() 'を試しましたか?また、 'validateInput'と呼ぶところにhtmlを入れてください。 –