4

次のように、sweetalert2 でテキストボックスを動的に作成しました。

swal({
    title: 'Enter Info',
    showCancelButton: true,
    html:   "<table>" +
                "<tr>" +
                    "<td>name</td>" +
                    "<td><input type='text' id='name'/></td>" +
                "</tr>"
                "<tr>" +
                    "<td>email</td>" +
                    "<td><input type='text' id='email'/></td>" +
                "</tr>"
            "</table>"
}).then(function(){
    // ajax
});

そして、テキストボックスの変更イベントをリッスンするjQuery関数。

$(document).ready(function () { 
    <script type="text/javascript">
        $('#name').on('change', function(e) {
            console.log($(this).val());
        });
    </script>
});

しかし、sweetalert2 内のテキスト ボックスの値を変更すると、イベントは発生しません。jQuery は適切に読み込まれ、sweetalert2 モデル以外のテキスト ボックスでも機能します。上記の<script>...</script>後に追加も試みましたが、まだ運がありません。誰か助けてくれませんか?任意の入力をいただければ幸いです。</table>html:

4

2 に答える 2

6

$('#name').on('change', function(e) {に変更$(document).on('change','#name', function(e) {

  1. イベントを適切に委任する
于 2016-07-28T06:59:27.093 に答える
3

これはあなたが使用しているために起こります

$('#name').on('change', function(e) {});  // this works for static dom

$(document).on('change','#name', function(e) {});  // this works for static as well as content dynamically added in dom.
于 2016-07-28T07:01:04.020 に答える