![](/img/trans.png)
[英]Dynamic select box and dynamic DIV, set element as opposed to remove/append
[英]Append a dynamic select box to a div after button click
我試圖在單擊按鈕后追加一個手風琴div。 很好 但是在附加的div中,我有一個選擇框,它必須是動態填充的。 得到Json結果后,我嘗試附加選項值,但是失敗了。 當我發出警報時,我會得到確切的結果。
這是我的控制器
public function getTypes(){
$types = AnsTypes::get();
return response()->json($types);
}
我的阿賈克斯
$.ajax({
url: site_base_url+ '/surveys/getquestiontypes',
type: "get",
contentType: "application/json",dataType: "json",
success: function(data){ // What to do if we succeed
if(data){
$(".group:last").after('<div class="group">' +
'<select class="custom-select" class="answer_datatype_id">' +
$.each(data, function(key, value){
'<option value="'+value.answer_datatype_id+'">' + value.type_name + '</option>'
}) +
'</select>'+
'</div>');
});
我的響應有效載荷是:
JSON格式
0 {…} answer_datatype_id 1 type_name文本1 {…} answer_datatype_id 2 type_name RadioButton 2 {…} answer_datatype_id 3 type_name CheckBox 3 {…} answer_datatype_id 4 type_name ListSingleSelection 4 {…} answer_datatype_id 5 type_name ListMultiSelection響應有效負載[{“ answer_datatype_id”:1,“ type_name”:“文本”},{“ answer_datatype_id”:2,“ type_name”:“ RadioButton”},{“ answer_datatype_id”:3,“ type_name”:“ CheckBox”} ,{“ answer_datatype_id”:4,“ type_name”:“ ListSingleSelection”},{“ answer_datatype_id”:5,“ type_name”:“ ListMultiSelection”}
看起來您的$.each
不會將<option>
返回到您的DOM。 您可以嘗試將<option>
添加到名為options
的變量中:
let options = "";
$.each(data, function(key, value){
options +='<option value="'+value.answer_datatype_id+'">' + value.type_name + '</option>'
})
然后將您的options
添加到DOM中,如下所示:
$(".group:last").after('<div class="group">' +
'<select class="custom-select" class="answer_datatype_id">' +
options
+
'</select>'+
'</div>');
這應該工作。 根據記錄,我已經嘗試過此代碼並且可以正常工作,如果您需要其他東西,請告訴我。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.