Javascript JQuery ajax()内部for循环
我正在razor视图上实现默认编辑模式。除了下拉列表的填充功能外,所有功能都可以工作。关于我的工作,我必须根据负载事件中当前选定的国家/地区值填写状态下拉列表。为此,我在for循环中实现了ajax 剃须刀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
@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");
}
});