0

私は JavaScript と jQuery が初めてで、マスク マネー プラグインを使用すると問題が発生します。うまくいきましたが、テーブルに別の入力を追加するJavaScriptを作成すると、同じクラスであっても、新しい行はマスクマネーで機能しません

ここに私のテーブルがあります:

<thead>
    <tr>
        <td width="100"><center>Waqaf</center></td>
        <td width="100"><center>Operasional Sekolah</center></td>
        <td width="100"><center>Seragam</center></td>
    </tr>  
</thead>
<tbody>
    <tr>
        <td width="100"><input type="text" class="form-control price" name="waqaf" id=""></td>
        <td width="100"><input type="text" class="form-control price" name="operasional_sekolah" id=""></td>
        <td width="100"><input type="text" class="form-control price" name="seragam" id=""></td>
    </tr>
</tbody>  

同じクラスで入力を出力する inspect 要素を確認したところ、新しいフィールドを追加するための JS は正常に動作していました。そして問題はプラグインJSマスクマネーにあります

<script type="text/javascript">
    $('input.price').number( true, 2 );
</script>

(下の写真を参照)

ここに画像の説明を入力

しかし、手動で別のテキスト入力を行うと、うまくいきました

ここに画像の説明を入力

同じ入力とクラスの js イベントで別のフィールドを作成しても機能しないのはなぜですか?

4

2 に答える 2

1

$('input.price').number( true, 2 ); を実行する必要があります。新しい行が作成されるたびに、メソッドは現在、最初の行にのみ適用されます。

于 2016-01-25T13:18:05.243 に答える
1

このプラグインのことを意味している場合は、 $.bindを使用してイベントを処理することを知っておくことが重要です。これは、新しい入力がこのプラグインによってまったく処理されないことを意味します。現在、この種のバインドには$.onを使用する必要があります (jQuery の初期バージョンでは '$.live' も使用します)。

于 2016-01-25T13:19:26.773 に答える