私はjQueryを初めて使用するため、ユーザーが2つのテキストボックスに配置した内容に基づいて計算を作成する必要があります。
私のフォームは次のようになります。
<tr>
<td with='110'>£ $ProductCostEach</td>
<td with='110'>Per tile</td>
<td width='55'>
<input type='hidden' name='pid' id='pid' value='$ProductID' />
<input name='quantity' class='quantity' type='text' size='1' maxlength='4' value='1' style='width:40px;' />
</td>
<td width='110'>
<button type='submit' class='red'><span class='buy'>Add to basket</span></button>
</td>
</tr><tr>
<td with='110'>£ $ProductCostPerMeter</td>
<td with='110'>Per Meter $TileSize</td>
<td width='55'>
<input type='hidden' name='pid' id='pid' value='$ProductID' />
<input name='msq' class='msq' type='text' size='1' maxlength='4' value='1' style='width:40px;' />
</td>
<td width='110'>
<button type='submit' class='red'><span class='buy'>Add to basket</span></button>
</td>
</tr>
ここで、ユーザーが.msqのクラスを使用して入力ボックスに値を入力すると、計算が必要になるため、キーアップイベントを記述しました。
function roundNumber(num, dec) {
var result = Math.round(num*Math.pow(10,dec))/Math.pow(10,dec);
return result;
}
var convMultiplier
convMultiplier = 0.0625
$('.msq').bind('keyup', function(){
var qty_text_box = $(this).parent().parent().parent().find('.quantity');
qty_text_box.value(roundNumber($(this).value * convMultiplier, 2));
});
しかし、入力ボックスの値を取得するだけで問題が発生します。var qty_text_box = $(this).parent()。parent()。parent()。find('。quantity');の後にalert(qty_text_box.value())を追加した場合 「UncaughtTypeError:Object [object Object] has nomethod'value'」というエラーが表示されます
しかし、問題が何であるかを理解するのに苦労しています...
よろしくお願いします。
ダニアン