jQuery空字符串select.val()

时间:2017-07-12 01:22:16

标签: jquery select

这是我的标记

 <select id="packages"></select>

这是我的JS

$.ajax({
    url: "get_packages",
    success: function(data) {
        var form = $("select#packages");
        for (var i=0 ; i<data.length; i++) {
            form.append("<option>"+data[i].package_name+"</option>");
        }
    },
    dataType: "json"
});

var pack = $("#packages").val();
console.log(pack) /* RETURNS UNDEFINED */

这是模型

public function get_packages(){
        return $this->db->from("packages")->get()->result_array();
}

控制器

public function get_packages() {
        header("Content-type: application/json");
        $res = $this->swimsdb->get_packages();

        echo json_encode($res);
}

这里似乎有什么问题?我有其他下拉框但他们设法不返回未定义的值。这是它返回undefined的唯一情况。

3 个答案:

答案 0 :(得分:0)

为您的选择元素

添加一个选项
<select id="packages"><option value=""></option></select>

JSFiddle:https://jsfiddle.net/2rw3ewjL/1/

答案 1 :(得分:0)

确保$是jQuery。在浏览器控制台窗口中执行代码$.fn.jquery应该显示jQuery版本,否则它是对其他库的引用。如果是这个问题请使用jQuery("#packages").val()

答案 2 :(得分:0)

form.append("<option>"+data[i].package_name+"</option>");

像这样改变上面的

 $form.append("<option>"+data[i].package_name+"</option>");

$ for jquery Object