Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Json 使用Jquery刷新下拉列表_Json_Select - Fatal编程技术网

Json 使用Jquery刷新下拉列表

Json 使用Jquery刷新下拉列表,json,select,Json,Select,我有一个下拉列表,用于在jQuery mobile中显示从1月份到当前月份的月份。我使用JSON获取数据。但问题是选择的选项没有得到刷新 $.ajax({ type: "POST", url: "../modules/loadmonth.php?id=getoption&studid=" + $('#studentids').val(), contentType: "application/json; charset=utf-8", dataType: "

我有一个下拉列表,用于在jQuery mobile中显示从1月份到当前月份的月份。我使用JSON获取数据。但问题是选择的选项没有得到刷新

$.ajax({
    type: "POST",
    url: "../modules/loadmonth.php?id=getoption&studid=" + $('#studentids').val(),
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    success: function (data) {
        $.each(data, function (i, item) {
            var sel;
            if (date[i].optval == date[i].curmon) {
                sel = "selected";
            } else {
                sel = "";
            }
            result = '<option value=' + data[i].optval + '' + sel + '>' + data[i].opt + '</option>';
        });
        $('#getmon').append(result);
    }
});
$.ajax({
类型:“POST”,
url:“../modules/loadmonth.php?id=getoption&studid=“+$('#studentids').val(),
contentType:“应用程序/json;字符集=utf-8”,
数据类型:“json”,
成功:功能(数据){
$。每个(数据、功能(i、项){
var-sel;
如果(日期[i].optval==日期[i].curmon){
sel=“已选定”;
}否则{
sel=“”;
}
结果=''+数据[i].opt+'';
});
$('#getmon')。追加(结果);
}
});

属性的
应该用引号括起来,但更重要的是,你需要在它和你选择的
属性之间留一个空格。

我在append之后添加了selectmenu,然后它就可以工作了

$.ajax({
    type: "POST",
    url: "../modules/loadmonth.php?id=getoption&studid=" + $('#studentids').val(),
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    success: function (data) {
        $.each(data, function (i, item) {
            var sel;
            if (date[i].optval == date[i].curmon) {
                sel = "selected";
            } else {
                sel = "";
            }
            result = '<option value=' + data[i].optval + '' + sel + '>' + data[i].opt + '</option>';
        });
        $('#getmon').append(result).selectmenu('refresh',true);
    }
});
$.ajax({
类型:“POST”,
url:“../modules/loadmonth.php?id=getoption&studid=“+$('#studentids').val(),
contentType:“应用程序/json;字符集=utf-8”,
数据类型:“json”,
成功:功能(数据){
$。每个(数据、功能(i、项){
var-sel;
如果(日期[i].optval==日期[i].curmon){
sel=“已选定”;
}否则{
sel=“”;
}
结果=''+数据[i].opt+'';
});
$('#getmon')。追加(结果)。选择菜单('refresh',true);
}
});

ya谢谢。在下拉框中,它不显示所选内容。单击该下拉框后,它将被选中。我不知道它发生的原因D$('select[id=“getmon”]”)。追加(result)。selectmenu('refresh',true);而不是$('#getmon')。追加(结果);我改进了格式,重新编写了问题。