这是我的标记
<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的唯一情况。
答案 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