您好我在使用append()
在javascript中创建下拉列表时遇到问题$('#details_edit').append('<tr id ="123"><td>drop down here<td></tr>');
我有来自控制器的变量$remarks_option
已经有值
问题是如何在javascript中执行此操作?请帮忙。顺便说一句,我在这里使用CI
谢谢
答案 0 :(得分:0)
假设您的下拉列表是一个html select
对象,其中包含option
个对象(它应该是),您可以使用以下代码:
$('#details_edit').append($("<option/>", {
value: '<?php echo $remarks_option; ?>',
text: '<?php echo $remarks_option; ?>'
}));
答案 1 :(得分:0)
你需要:
$('#details_edit').append('<tr id ="123"><td><?php echo $remarks_option; ?><td></tr>');
答案 2 :(得分:0)
我希望这有效:
$('#details_edit').append($("<option></option>").attr("value","key Value").text("Your Value"));
答案 3 :(得分:0)
如果您从AJAX获得响应,那么这是一种做事的方法。假设响应是成功回调中的参数。
var JSONtext = response;
var JSONobject = JSON.parse(JSONtext);
$('#details_edit').append('<tr id ="123"><td><select id="mySelect"></select><td></tr>');
$('#mySelect').append(new Option(JSONobject.name,JSONobject.value));
哦,我的不好,我没有看到OP的评论,他说他正在拿选择框而不是一个对象。保留这个答案,以防有人发现它有用!
答案 4 :(得分:0)
如果您从控制器获得类似“test”的值,请使用以下命令:
$('#details_edit').append('<tr id ="123"><td><?php print_r($remarks_optio);?><td></tr>');
如果您只获得选项值,请使用如下:
var myOptions = {
val1 : 'text1',
val2 : 'text2'
}; // assume myoptions contains value returned by controller
var mySelect = $('#mySelect');
$.each(myOptions, function(val, text) {
mySelect.append(
$('<option></option>').val(val).html(text)
);
});
希望它能回答你的问题。
答案 5 :(得分:0)
javascript的基础:
$(document).ready(function () {
var opt_1 = document.createElement("option");
opt_1.setAttribute('value', "0");
opt_1.innerHTML = "-- Select --";
var opt_2 = document.createElement("option");
opt_2.setAttribute('value', "2");
opt_2.innerHTML = "Option A";
var opt_3 = document.createElement("option");
opt_3.setAttribute('value', "3");
opt_3.innerHTML = "Option B";
var ddl = document.createElement("select");
ddl.setAttribute('id', 'selectDynamic');
ddl.addEventListener("change", function () {
alert(this.value);
}, false);
ddl.appendChild(opt_1);
ddl.appendChild(opt_2);
ddl.appendChild(opt_3);
document.getElementById('details_edit').parentNode.appendChild(ddl);
});