Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/446.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
Javascript JQuery ajax()内部for循环_Javascript_Jquery_Arrays_Ajax_For Loop - Fatal编程技术网

Javascript JQuery ajax()内部for循环

Javascript JQuery ajax()内部for循环,javascript,jquery,arrays,ajax,for-loop,Javascript,Jquery,Arrays,Ajax,For Loop,我正在razor视图上实现默认编辑模式。除了下拉列表的填充功能外,所有功能都可以工作。关于我的工作,我必须根据负载事件中当前选定的国家/地区值填写状态下拉列表。为此,我在for循环中实现了ajax 剃须刀 @foreach(模型中的CustomerModel客户) { @customer.CustomerId @Html.TextBoxFor(model=>customer.Name,new{id=“txtName”+@customer.CustomerId,onkeyup=“getID(thi

我正在razor视图上实现默认编辑模式。除了下拉列表的填充功能外,所有功能都可以工作。关于我的工作,我必须根据负载事件中当前选定的国家/地区值填写状态下拉列表。为此,我在for循环中实现了ajax

剃须刀
@foreach(模型中的CustomerModel客户)
{
@customer.CustomerId
@Html.TextBoxFor(model=>customer.Name,new{id=“txtName”+@customer.CustomerId,onkeyup=“getID(this.id)”)
@**@
@*@customer.StateName*@
@customer.CountryName
拯救
arrayID.push('@customer.CustomerId');
}
剧本
var-id;
var-txtName;
var txtCountry;
var onchangeFlag=0;
s=0;
var idOf;
var-idArray=[];
var长度=2;
var标志=1;
$(文档).ready(函数(){
//警报(arrayID);
var ido;
国家ID变量;
var指数=0;
风险价值;
var状态元素;
var s=0;
变量ddlStateID;
var lenthof=阵列长度;
对于(var i=0;i
c#代码和ajax总是成功的,但是循环索引总是指向数组的最后一个索引,我不知道为什么循环索引失败

输出

make async:False感谢您的响应,但是howmake async:False感谢您的响应,但是howSynchronous Ajax已被弃用-这将在现代浏览器中产生警告。您可以预期该功能在将来某个时候停止工作。它被弃用的原因是,它通过锁定浏览器导致糟糕的用户体验请求期间的UI,因此用户无法单击任何位置。如果请求花点时间,用户可能会认为浏览器已崩溃。如果您需要按顺序发出一系列Ajax请求,则不推荐使用承诺链接模式同步Ajax-这将在现代浏览器中生成警告。您可以预期该功能在将来某个时间停止工作。不推荐该功能的原因是因为它会导致通过在请求过程中锁定浏览器UI,用户无法在任何地方单击,可以避免糟糕的用户体验。如果请求需要一段时间,用户可能会认为浏览器已崩溃。如果需要按顺序发出一系列Ajax请求,请使用承诺链接模式
@foreach (CustomerModel customer in Model)
    {

        <tr>
            <td class="CustomerId">
                <span id="spn_@customer.CustomerId">@customer.CustomerId</span>
            </td>
            <td class="Name">
                @Html.TextBoxFor(model => customer.Name,new { id =  "txtName_" + @customer.CustomerId , onkeyup = "getID(this.id)" })
                @*<input id="txtName_@customer.CustomerId" type="text" onkeyup="getID(this.id)" value="@customer.Name"/>*@
            </td>
            <td class="State">
                <select id="ddlState_@customer.CustomerId" style="width:200px;">
                    @*<option>@customer.StateName</option>*@
                </select>
            </td>

            <td class="Country">
               <select id="ddlCountry_@customer.CustomerId" onfocus="fillCountry(this.id)" onchange="fillState(this.id,this.value)" style="width:200px;">
                   <option>@customer.CountryName</option>
               </select>
            </td>
           <td>
               <button id="@customer.CustomerId" onclick="update(this.id)">Save</button>
               </td>
        </tr>
          <script>
              arrayID.push('@customer.CustomerId');
            </script>
    }
    var ids;
    var txtName;
    var txtCountry;
    var onchangeFlag = 0;
    s = 0;
    var idOf;
    var idArray = [];
    var length = 2;
    var flag = 1;
    $(document).ready(function () {
       // alert(arrayID);
        var ido;
        var ddlCountryID;
        var index = 0;
        var countryValue;
        var ddlStateidElement;
        var s = 0;
        var ddlStateID;
        var lenthof = arrayID.length;
        for (var i = 0; i < lenthof; i++) {
           // alert(lenthof);
            ido = arrayID[i];
            //index = ido;
            ddlCountryID = "ddlCountry_" + ido;
            ddlStateID = "ddlState_" + ido;

            countryValue = $('#' + ddlCountryID).val();
           // alert(countryValue);
            $.ajax({
                type: "POST",
                url: "/New/GetOnState",
                contentType: "application/json; charset=utf-8",
                data: '{"country":"' + countryValue + '"}',
                dataType: "html",
                success: function (result, status, xhr) {
                    //  alert("success");

                   // alert(arrayID[index]);

                    ddlStateidElement = "ddlState_" + ido;
                    $('#' + ddlStateidElement).html(result);
                    //index = index + 1;

                },
                error: function (xhr, status, error) {
                    alert("Enter");

                }
            });
           //loopend
        }
 $.ajax({
                type: "POST",
                url: "/New/GetOnState",
                contentType: "application/json; charset=utf-8",
                data: '{"country":"' + countryValue + '"}',
                dataType: "html",
                async:false,
                success: function (result, status, xhr) {
                    //  alert("success");

                   // alert(arrayID[index]);

                    ddlStateidElement = "ddlState_" + ido;
                    $('#' + ddlStateidElement).html(result);
                    //index = index + 1;

                },
                error: function (xhr, status, error) {
                    alert("Enter");

                }
            });