1

フォームを作成しています。問題ありません。送信ボタンのほかに、クリックするとフォームに別のフィールドを追加する別のボタンがあります。これを行うためにjavascript(jquery)を使用しようとしています。言うまでもなく、私には運がありません。私は多くの異なる方法を試しました、そしてこれは私が諦めたものです:

$("#snew").click(function () {  
var container = $("#sblc").add("div");
var content = "<select> <option>Domestic</option><option>Tiger</option><option>Peeled                  Raw</option><option>Cooked Peeled Tail On<option></select><select> <option>1 lbs</option>   <option>2 lbs</option><option>3 lbs</option></select>";

                $(container).attr("class", "opt");
                $(container).append(content); 
                $(container).appendTo("#sblc"); 

            })

対応するHTMLは次のとおりです。http: //pastie.org/3729304 (ここでHTMLを正しく表示する方法がわかりませんでした。リンクをお詫びします。)

これを試してみると、完全に白いページが表示されるか、まったく何も起こりません。どんな助けでも大歓迎です。

4

6 に答える 6

0

私はあなたがする必要があると思います:

var container = $("<div>"); // notice the `<` and `>`

このようにして、新しいDIVコンテナを作成しappend、後で作成します(すでにこれを行っています)

于 2012-04-04T20:59:26.557 に答える
0

単にappendを1回呼び出すのはどうですか?

    $("#sblc").append("<div class=\"opt\"><select><option>Domestic</option><option>Tiger</option><option>Peeled                  Raw</option><option>Cooked Peeled Tail On<option></select><select> <option>1 lbs</option><option>2 lbs</option><option>3 lbs</option></select></div>");
于 2012-04-04T21:00:11.240 に答える
0

追加方法にエラーがあります。

http://jsfiddle.net/NYnYw/

于 2012-04-04T21:02:11.613 に答える
0

以下のようなものを試してください、

デモ

$("#snew").click(function() {
    var container = $("<div />");
    var content = "<select> <option>Domestic</option><option>Tiger</option><option>Peeled                  Raw</option><option>Cooked Peeled Tail On<option></select><select> <option>1 lbs</option>   <option>2 lbs</option><option>3 lbs</option></select>";

    $(container)
        .attr("class", "opt") //add class to the div container
        .append(content)      //append select to the div
        .appendTo("#sblc");   //append div to #sblc

});
于 2012-04-04T21:03:28.210 に答える
0

これは、指定したコードで機能します。

$("#snew").click(function () {
    var container = $("#sblc");
    var content = "<div><select> <option>Domestic</option><option>Tiger</option><option>Peeled                  Raw</option><option>Cooked Peeled Tail On<option></select><select> <option>1 lbs</option>   <option>2 lbs</option><option>3 lbs</option></select></div>";

    $(container).attr("class", "opt");
    $(container).append(content);
})
于 2012-04-04T21:03:40.613 に答える
0

あなたの論理は奇妙に思えます...あなたは最初に、それが一致することができる限り多くの両方を含むオブジェクトのjQueryコレクションを参照するcontainerものとして宣言します。これは本当にあなたがやろうとしていることですか? 次に、不要なjQueryオブジェクトをダブルラップします。 珍しいと思う部分はです。あなたは二重に包まれた、またはに追加していますか?わからない... あなたはこのようなことを試すことができます:$("#sblc").add("div")#sblcdiv
container
$(container).appendTo("#sblc")container#slbc + divs#slbc

$("#snew").click(function () {

    var $container =  # ('#slbc'),
        materials = ['Domestic', 'Tiger', 'Peeled Raw', 'Cooked Peeled Tail On'],
        values = ['1 lbs', '2 lbs', '3 lbs'],
        html = '<select><option>' + materials.join('</option><option>') + '</option></select>' +
            '<select><option>' + values.join('</option><option>') + '</option></select>';

    $container.append(html).addClass('opt');

});
于 2012-04-04T21:08:42.840 に答える