2017-07-05 9 views
-1

jQueryを持っている必要があります。jQueryコードを書いてください。ここで、ボタンクリックでdivをクローンする必要があります。新しいdivが新鮮な新しいドロップダウンリストに

$("#panel_moreInfoDetails_common3").clone().appendTo("#panel_moreInfoDetails_common2"); 

私はdiv要素のクローンを作成することができていますが、私はそれのドロップダウンリストを必要としています。私のドロップダウンオプションはforeachループ内にあることに注意してください。 HTMLは HTML下に与えられる:EVか否かを示す

ブール:

<div class="row" id="panel_moreInfoDetails_common3"> 
    <div class="delete-moreinfodetails" style="margin-left: 15px;margin-top: 20px;margin-right: 18px;"> 
     <a data-id="@record.UserFieldIndexNumber" id="button-delete-moreinfodetails" href="javascript:void(0)"> 
      <i class='icon icon-bin3'></i> 
     </a> 
    </div> 
    <div id="@string.Format("field_{0}_{1}", Model.Page, record.UserFieldIndexNumber)" class="col settings-field @(fields.Contains(string.Format("field_{0}_{1}", Model.Page, record.UserFieldIndexNumber)) ? "hidden" : "")"> 
     <select class="moreinfo-details" id="@string.Format("field_{0}_{1}", Model.Page, record.UserFieldIndexNumber)" name="@string.Format("field_{0}_{1}", Model.Page, record.UserFieldIndexNumber)" data-field="Info Details"> 
      <option value="">Select an option</option> 
      @foreach (var item in Model.MoreInfoDetailsValues) 
      { 
        //selected = record.UserDefinedDropDownField == item.UserDefinedDropDownField ? "selected='selected'" : ""; 
        <option data-desc="@item.UserDefinedDropDownField" @selected value="@item.UserDefinedDropDownField">@item.UserDefinedDropDownField</option> 
      } 
     </select> 
    </div> 
    <div id="@string.Format("field_{0}_{1}", Model.Page, record.UserFieldIndexNumber)" class="col settings-field @(fields.Contains(string.Format("field_{0}_{1}", Model.Page, record.UserFieldIndexNumber)) ? "hidden" : "")"> 

      <input data-ufindex="@record.UserFieldIndexNumber" type="text" class="form-control" value="@record.UserFieldValue" /> 

    </div> 
</div> 
+0

あなたは、具体的抱えている問題は何ですか?それはクローンだけど何? – lloyd

+0

私はdivを複製することができますが、そのdivの下に私はドロップダウンを持っています。私は今私が持っているドロップダウンのすべてのオプションでそれもクローンしたいです。 – questionmark

+0

私はあなたが言っていることを得て、それをやってみました 。クローン(真、真)。しかし、今では新しいドロップダウンを取得し、それをクリックしてオプションを選択すると、新しいドロップダウンの代わりに前のドロップダウンがクリックされます。 – questionmark

答えて

0

jsfiddle here

jQuery Documentation

.clone([withDataAndEvents ] [, deepWithDataAndEvents ])

deepWithDataAndEvents(withDataAndEventsの値デフォルト)コピーされた要素のすべての子要素のハンドラとデータをコピーする必要があります。デフォルトでは、その値は最初の引数の値と一致します(デフォルトはfalse)。あなたが探しているものを

.clone(true, true)

$("#panel_moreInfoDetails_common3").clone(true, true).appendTo("#panel_moreInfoDetails_common2");

+0

$( "#panel_moreInfoDetails_common3")。クローン(true、true).appendTo( "#panel_moreInfoDetails_common2"); このアプローチは私のために働いた、多分私はhtmlの部分またはそこに到達するセレクタで何かを逃しています。 \t 私はこれをやってみました.clone(true、true)。しかし、今では新しいドロップダウンを取得し、それをクリックして任意のオプションを選択します。新しいドロップダウンではなく、前のドロップダウンがクリックされています。 – questionmark

+0

クローン内のid、name、およびクラス属性を変更する必要があります。あなたはこの方法で重複したIDを取得していますが、これは決して良いことではありません。 –

関連する問題