2

HTMLで動的入力テキストフィールドを生成するjqueryです。各テキスト フィールドに異なる名前を付けるには、'num' を増やします。".attr('name', 'device' + num);" も試してみましたが、うまくいきません。

$(document).ready(function() {
    $("#add").click(function() {
        var intId = $("#buildyourform div").length + 1;
        var num=0;
        num++;
        var fieldWrapper = $("<div class=\"fieldwrapper\" id=\"field" + intId + "\"/>");

**var fName = $("<input type=\"text\" class=\"fieldname\" name=\"' + num + '\" />");**

        var removeButton = $("<input type=\"button\" class=\"remove\" value=\"-\" />");
        removeButton.click(function() {
            $(this).parent().remove();
        });
        fieldWrapper.append(fName);

        fieldWrapper.append(removeButton);
        $("#buildyourform").append(fieldWrapper);
    });

});

3 つの新しいテキスト フィールドが生成された場合、onkeyup で各テキスト フィールドに値を追加するにはどうすればよいですか

4

2 に答える 2

3

クリックするたびに をオーバーライドnumし、文字列表記を台無しにしました。宣言をコールバックの外に
置きます。num

var num=0;
$("#add").click(function() {
    var intId = $("#buildyourform div").length + 1;
    num++;
    $('<input type="text" class="fieldname" name="' + num + '" />');

その日のヒントとして、javascript で使用でき'"文字列表記の場合は両方を使用でき、他の表記をエスケープする必要はありません。

于 2013-08-24T19:14:20.727 に答える
0

コードに構文エラーがあります。一重引用符と二重引用符をいじっています...

このようなものでなければなりません

var fName = $('<input type="text" class="fieldname" name="' + num + '" />');

また:

var fName = $("<input type=\"text\" class=\"fieldname\" name=\"" + num + "\" />");
于 2013-08-24T19:23:09.337 に答える