0

javascript (jquery) を使用して動的に作成されるフォームを使用して Web ページを開発しています。フォーム要素の(反復的な)セットごとに、要素を表示および非表示にするための表示/非表示機能が追加されていますが、この表示/非表示コードが機能していません-エラーは以下のコード内に示されているようにあると思います.引用符を正しい場所に配置するのに苦労しています (?) コンソールには、理解できないエラー "Uncaught SyntaxError: Unexpected token } " が表示されます。疑わしいエラー行を除外すると、それ以上のエラーはなく、この '}' が表示されるべきでない場所に表示される場所がわかりません。

Javascript コード:

function ShowHide(id) {
    $(id).toggle();
}


$(document).ready(function () {

    var buildform = function () {
        var form ='<div id="form">'

        for (var i = 0; i < 2; i++) {

            form += '<div id="filename"' + i + '> Document  </div> </td>';
            //error in next line (?)
            form += '<button onclick="ShowHide(\'#filename'+ i +'\')">  Show/hide document </button> </td> </tr>';

        } //for i
        form += '</div>'; //id="form"
        console.log('FORM: '+form);
        return
    } //buildform()

   $("#wrapper").append(form);

}); //$(document).

HTML コード:

<div id="wrapper"></div>

javaconsole() による出力:

<div id="form"><div id="filename"0> Document  </div><button onclick="ShowHide('#filename0')">  Show/hide document </button></div><div id="filename"1> Document  </div><button onclick="ShowHide('#filename1')">  Show/hide document </button></div> 
4

2 に答える 2

0

引用符を正しくエスケープする

行を変更してください:

form += '<td> <button onclick="ShowHide("#filename'+ i +')">  Show/hide document </button> </td> </tr>';

これに:

form += '<td> <button onclick="ShowHide(\'#filename'+ i +'\')">  Show/hide document </button> </td> </tr>';
                                        ^                 ^
于 2013-11-11T16:46:33.560 に答える
0

あなたの引用符は間違っています.

  form += '<td> <button onclick="ShowHide(\'#filename'+ i +  '\')">  Show/hide document </button> </td> </tr>';

括弧内の引用符を一致させ、 でエスケープしました\。また、作成した html を保存していますが、実際に html をページに出力することはどこにも表示されません。作成した情報を実際に出力する必要があります。例えば:

HTML:

<div ="outputContainer"></div>

関数内:

$("#outputContainer").html(form);
于 2013-11-11T16:46:07.967 に答える