I'm setting up Laravel Blade View in my web app. How to create nested or looping html in div using JavaScript or jQuery? Primarily I'm using drop down listbox using select option tags where it is supposed to iterate among each of database table columns.
I've tried using JavaScript and jQuery but it can only show the first iteration.
HTML:
Filter
<div id="filterDiv">
<div id="filterLaporan">
<select name="kolomFilter" id="selectFilter">
</select>
</div>
<select name="kondisi" id="kondisi">
<option value="like">like</option>
<option value="=">=</option>
<option value="!=">!=</option>
<option value=">">></option>
<option value="<"><</option>
</select>
<input type="text" name="valueKondisi">
<select name="kondisiAndOr" id="andKondisi">
<option value="">-</option>
<option value="and">AND</option>
<option value="or">OR</option>
</select>
</div>
<div id="kondisiHeader">
</div>
<br>
JavaScript:
$("#andKondisi").on('change', function (e) {
var dbTable = localStorage.getItem('dbTable');
var ddlb = '';
$.ajax({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
url: "laporan/header",
type: "POST",
data: {
table: dbTable
},
beforeSend: function () {
$("#kondisiHeader").empty();
ddlb = ddlb + '<br>Filter<br>';
ddlb = ddlb + '<div id="filterDiv">';
//alert('kondisiHeader');
},
success: function (result) {
ddlb = ddlb + '<select name="filter" id="kondisiSelect">';
$.each(result, function (e, item) {
ddlb = ddlb + '<option value="' + item.column_name + '">' + item.column_name + '</option>';
});
ddlb = ddlb + '</select>';
ddlb = ddlb + '<select name="kondisi" id="kondisi1">';
ddlb = ddlb + '<option value="like">like</option>';
ddlb = ddlb + '<option value="=">=</option>';
ddlb = ddlb + '<option value="!=">!=</option>';
ddlb = ddlb + '<option value=">">></option>';
ddlb = ddlb + '<option value="<"><</option>';
ddlb = ddlb + '</select>';
ddlb = ddlb + '<input type="text" name="valueKondisi1">';
ddlb = ddlb + '<select name="kondisiAndOr" id="andKondisi1">';
ddlb = ddlb + '<option value="">-</option>';
ddlb = ddlb + '<option value="and">AND</option>';
ddlb = ddlb + '<option value="or">OR</option>';
ddlb = ddlb + '</select>';
ddlb = ddlb + '</div>';
ddlb = ddlb + '<div id="kondisiHeader2"></div>';
$("#kondisiHeader").html(ddlb);
}
});
localStorage.setItem('dbTable', dbTable);
});
$("#andKondisi1").on('change', function (e) {
var dbTable = localStorage.getItem('dbTable');
var dbTable2 = dbTable;
var ddlb = '';
$.ajax({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
url: "laporan/header",
type: "POST",
data: {
table: dbTable
},
beforeSend: function () {
$("#kondisiHeader2").empty();
ddlb = ddlb + '<br>Filter<br>';
ddlb = ddlb + '<div id="filterDiv">';
ddlb = ddlb + '<select name="kondisi" id="kondisi2">';
ddlb = ddlb + '<option value="like">like</option>';
ddlb = ddlb + '<option value="=">=</option>';
ddlb = ddlb + '<option value="!=">!=</option>';
ddlb = ddlb + '<option value=">">></option>';
ddlb = ddlb + '<option value="<"><</option>';
ddlb = ddlb + '</select>';
alert('trello');
},
success: function (result) {
ddlb = ddlb + '<select name="filter" id="kondisiSelect2">';
$.each(result, function (e, item) {
ddlb = ddlb + '<option value="' + item.column_name + '">' + item.column_name + '</option>';
});
ddlb = ddlb + '</select>';
ddlb = ddlb + '<input type="text" name="valueKondisi2">';
ddlb = ddlb + '<select name="kondisiAndOr2" id="andKondisi2">';
ddlb = ddlb + '<option value="">-</option>';
ddlb = ddlb + '<option value="and">AND</option>';
ddlb = ddlb + '<option value="or">OR</option>';
ddlb = ddlb + '</select>';
ddlb = ddlb + '</div>';
ddlb = ddlb + '<div id="kondisiHeader3"></div>';
$("#kondisiHeader2").html(ddlb);
}
});
});
How to display all possible drop down list boxes for each of the total of database table columns after selecting the AND, OR select option?
idmust be unique inside a document, and anameinside a form (unless radio buttons, ofc) and b) that you should build the DOM, not compose HTML. jQuery has$('<option>')for instance to build an option element.