Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.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
jQuery不刷新select元素_Jquery_Asp.net Web Api - Fatal编程技术网

jQuery不刷新select元素

jQuery不刷新select元素,jquery,asp.net-web-api,Jquery,Asp.net Web Api,当单击按钮从MVC4/WebAPI应用程序获取数据时,我似乎无法使以下函数正常工作。问题是,当我单击调用此函数的按钮时,它会在第一次调用时工作,它会获取数据,并且控件会填充相应的数据 但是,当我第二次单击按钮时,select元素lstItems返回到第一个选项,而不是返回记录中的所选项目。我原以为通过喷洒selectmenu“refresh”可以达到目的,但没有效果 function getPOById() { $.ajax({ type: "GET",

当单击按钮从MVC4/WebAPI应用程序获取数据时,我似乎无法使以下函数正常工作。问题是,当我单击调用此函数的按钮时,它会在第一次调用时工作,它会获取数据,并且控件会填充相应的数据

但是,当我第二次单击按钮时,select元素lstItems返回到第一个选项,而不是返回记录中的所选项目。我原以为通过喷洒selectmenu“refresh”可以达到目的,但没有效果

function getPOById() {
    $.ajax({
        type: "GET",
        url: webroot + "api/items?POId=" + $("#txtPOId").val(),
    }).done(function (data) {
        $("#txtSupplierName").val(data.SupplierName);
        $("#txtQuantity").val(data.Quantity);
        $("#txtUnitPrice").val(data.UnitPrice);
        $('#lstItems option').each(function () {
            $(this).removeAttr('selected');
            $("#lstItems").selectmenu("refresh");
            if ($(this).attr('value') == data.ItemId) {
                $(this).attr('selected', 'selected');                    
            }
            $("#lstItems").selectmenu("refresh");
        });            
    }).fail(function (err) {
        alert("Error " + err.status + "Code " + err.statusCode); 
    });
    $("#lstItems").selectmenu("refresh");
}

数据中发生的内容将附加到以前的数据。 在再次填充之前,您必须“重置”或清除选择菜单中的内容,作为完成功能的第一部分

.done(function (data) {
$("#lstItems").html('');

....
如果lstItems是a,则可以执行以下操作:$'lstItems'.valdata.ItemId;。