[英]Dynamic text boxes with dropdown list
我正在制作一個測驗系統,基於從下拉列表中選擇的值,我可以顯示許多文本框。 示例:主題有 4 個單元,我將有 4 個文本框來為每個單元填寫一些問題。 我的代碼不起作用:Controller:
public function getunit($id){
$units= Question::groupBy('unit')->select('unit', Question::raw('count(id) as Total'))->where('id_subject','=', $id)->get()->toArray();
return view('Test::test', compact('units'));
}
刀片文件:
$('select').select();
function get_units() {
var id = $('#selectID').val();
var list = $('#list-unit');
list.empty();
var url = "{{ route('test.getunit') }}"+'/'+id;
var success = function (result) {
if (result.length <= 0) {
var item = '<div class="input-field"><input type="text" disabled value="Môn này hiện chưa có câu hỏi nào"></div>';
list.append(item);
} else {
for (i = 0; i < result.length; i++) {
var item = '<div class="input-field"><label for="unit-' + result[i].unit+ '">Nhập số câu hỏi chương ' + result[i].unit+ ' (có ' + result[i].Total + ' câu) <span class="failed">(*)</span></label><input type="number" max="' + result[i].Total + '" class="unit_input" onchange="set_sum(' + result[i].Total + ')" name="unit-' + result[i].unit+ '" id="unit-' + result[i].unit+ '" required></div>';
list.append(item);
}
}
};
$.get(url, success);
}
路線:
Route::post('get-unit', 'TestController@getunit')->name('test.getunit');
Route::resource('test', TestController::class);
您可以使用此方法動態創建文本框
讓 html="";
$.each([ "value1", ["value2","value3","value4"] ], function( index1, value1 ) {
html+="";
$.each(value1, function(index2, value2) {
在此處添加文本框
}); html+="";
list.append(html);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.