2012-03-07 17 views
0

divのhtmlを編集してJQueryを使用してフォームの書式を設定しようとしています。<option>タグ付きのJQuery ".html()"メソッド

は、次のようにhtmlファイルの関連セクションがあると仮定します。この形式では

<div id="genForm"> 
</div> 

を、私は入力を「選択」を使用しなければなりません。

次のjQueryコードがエラーなしで動作します:

$("#genForm").html("<form action=\"apply.php\" method=\"post\"><select></select></form>") 

はしかし、次のように<option>タグは、追加された瞬間:

$("#genForm").html("<form action=\"apply.php\" method=\"post\"><select><option></option></select></form>") 

コードが完全に破壊し、HTMLを編集することを拒否私には空の<div>が残っています。

なぜこれが起こっているのか全くわかりません。お知らせ下さい。

+3

それは私のために働く:http://jsfiddle.net/MzFnq/。私たちが見るための追加コードはありますか? –

答えて

0

私はあなたには表示されないいくつかの追加コードがあると仮定します。だからあなたの最善の策はすべてを分割することです。

var _form = $("<form action=\"apply.php\" method=\"post\"></form>"); 
var _sel = $("<select name='selectName'></select>"); 

_sel.append("<option value='0'>Select</option>"); 
_sel.append("<option value='1'>It's me</option>"); 
_sel.append("<option value='2'>Again</option>"); 
_form.append(_sel); 

$("#genForm").append(_form); // or use .html() alternatively. 

jQueryがノードを作成します。 jQueryはすべてを知っています。

編集:ちょうど追加jsFiddleリンク(WOW!その事がクールである)

http://jsfiddle.net/QpQHN/4/

+0

参考までにhttp://jsbin.com/#javascript,htmllliveでもっと驚くべきことがあります!! – bPratik

+1

@bPratik wowの努力は、インターネット上のいくつかの人々に行く!彼らに祝福を与えてください – DdD

0

チェックアウトhttp://jsfiddle.net/pratik136/kTGAe/

コードは私のために正常に動作するようです。

+0

私は問題が発生していると認識しました。なぜなら私の質問に不正確に述べたように、私はdivではなくテーブルのhtmlを編集しようとしていたからです。 しかし、これがなぜ違いがあるのか​​、私は混乱しています.JQueryがオプションタグをテーブルに書くことができない理由は何ですか? 編集:明確にするために、htmlファイル内の唯一の要素がテーブルであるが、拡張されたシナリオでは機能しない場合、このコードはテーブルタグに影響することはありません。 – Jonathan

+0

私はまだ問題が表示されません: http://jsfiddle.net/pratik136/kTGAe/ 私はあなたの問題ドメインを表すと感じる3つのケースに入れました。 – bPratik