这是将选项值附加到下拉列表的正确方法吗?我从ajax获取数据(使用alert(data);
测试它),但它似乎没有附加到下拉列表(在jQuery中生成)。
$(document).on('focusout', '.generate', function(InputField)
{
var name = ($('.generate').val());
$.post("<?php echo site_url('project/testFunction'); ?>",
{
name: name,
},
function(data, status)
{
var items="";
$.each(data, function(index, item)
{
items += "<option>" + item.Description + "</option>";
});
$("#typeSoftware").append(items);
});
});
生成的下拉列表:
$('#hardsoft tr:last').after('<tr><td>Software : </td><td>
<select id="typeSoftware" class"add" name="softwarenames[]"/></td></tr>');
控制器中的功能:
public function testFunction()
{
$name = trim($this->input->post('name'));
$this->load->model('mProject');
$test = $this->mProject->testFunction($name);
echo json_encode($test);
}
结果:
数据库功能:
function testFunction($id) {
$query = $this->db->get_where('R_InstalledItems', array('Description' =>$id));
return $query->result();
}
答案 0 :(得分:5)
检查此示例在我的开发测试中的哪些工作。
<script type="text/javascript">
$(document).ready(function () {
$("#dropdownCountry").change(function (e) {
var obj1 = { Country: $("#dropdownCountry").val() };
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "http://localhost:3323/AjaxWebService.asmx/getState",
data: JSON.stringify(obj1),
dataType: "json",
success: function (data1) {
var appenddata1 = "";
//alert(data1.d);
var jsonData1 = JSON.parse(data1.d);
for (var i = 0; i < jsonData1.length; i++) {
appenddata1 += "<option value = '" + jsonData1[i].SHORT_NAME + " '>" + jsonData1[i].FULL_NAME + " </option>";
}
$("#dropdownState").append(appenddata1);
}
});
});
});
</script>
machinesyntax.blogspot.my/2014/01/how-to-append-dropdownlist-using-jquery.html
这个想法是从webservice读取JSON数据并附加到下拉列表。
如果选择更改,请不要忘记删除以前的附加值。你也可以参考这篇文章。
答案 1 :(得分:0)
试试这个: -
function(data, status)
{
var items="";
$.each(data, function(index, item)
{
$("#typeSoftware").append("<option>" + item.Description + "</option>");
});
});
答案 2 :(得分:0)
在$ .each之前,插入:
data = $.parseJSON(data);
这使它成功。
答案 3 :(得分:0)
$(function()
{
var items="";
$.getJSON("adminlist/classdropdown.php",function(data)
{
$.each(data,function(index,item)
{
items+="<option value='"+item.classname +"'>"+item.classname +"</option>";
});
$("#eclass").append(items);
});
});
它会很好用