0

jquery 経由で HTML 選択メニューを追加しようとしていますが、何も表示されません。このコードは、テキストボックスを追加しただけで問題なく実行されました。<select>メニューを追加すると、機能しなくなりました。

$(document).ready(function(){

$("#add").click(function(){
$("#pTags").append("
<select>
    <option>Volvo</option>
</select>
<input type='text' placeholder='Class #'><br>


");
});
});

JSFIDDLE

4

2 に答える 2

2

これは機能します:

var htmlString = "<div>This is a string.</div>";

これは失敗します:

var htmlSTring = "<div>
  This is a string.
</div>";

読みやすさのために、これが望ましい場合もあります。

バックスラッシュを追加して機能させます。

var htmlSTring = "<div>\
  This is a string.\
</div>";

またはプラス記号

var htmlSTring = "<div>"+
  "This is a string."+
"</div>";

またはさらに、他の方法を参照して、ここで最も気に入った方法を試すことができます

あなたのために、このスニペットまたはJSFiddle Exampleをチェックアウトしてください:

$(document).ready(function(){
  var opts = [
    'Volvo',
    'Ford',
    'BMW'
  ];

  $("#add").on('click', function(){          
    htmlString = "<select>";
    for (var i in opts) htmlString += "<option>"+opts[i]+"</option>";
    htmlString += "</select><input type='text' placeholder='Class #'><br>";

    $("#pTags").append(htmlString);

  });
});​
于 2012-08-04T13:39:47.363 に答える
0

そのように文字列を複数の行に分割することはできません。すべてを 1 行で行うか、文字列に追加すれば問題ありません。

$("#pTags").append("<select><option>Volvo</option></select><input type='text' placeholder='Class #'><br>");

フィドル

また :

var html =  '<select>';
    html += '<option>Volvo</option>';
    html += '</select>';
    html += '<input type="text" placeholder="Class #">';
    html += '<br>';
    html.appendTo("#pTags");

フィドル

于 2012-08-04T13:58:19.123 に答える