使用javascript中的append创建动态下拉列表

时间:2013-12-18 08:45:23

标签: javascript php

您好我在使用append()

在javascript中创建下拉列表时遇到问题
$('#details_edit').append('<tr id ="123"><td>drop down here<td></tr>');

我有来自控制器的变量$remarks_option已经有值

问题是如何在javascript中执行此操作?请帮忙。顺便说一句,我在这里使用CI

谢谢

6 个答案:

答案 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);
    });