虽然动态我绑定了bootstrap评级控件,但评级类不会影响jquery
。
我的 Jquery代码
function GetReviewTypeForRating(hallIDFReview)
{
$.ajax({
url: '@Url.Action("GetReviewRatingTypes", "PublicUser")',
contentType: "application/json; charset=utf-8",
datatype: "json",
data: "{'obj':'" + hallIDFReview + "'}",
type: "POST", // 'GET' or 'POST' ('GET' is the default)
success: function (data) {
if (data != "No Reviews") {
data = JSON.parse(data);
console.log(data);
var divTr = '';
$.each(data, function (i, item) {
divTr += '<div class="row"> <div class="col-lg-4"><label>' + item.Description + '</label></div><div class="col-lg-5"><div class="form-group input-group-sm"> <input id="starHallRating'+item.Id+'" value="0" type="number" class="rating" min=0 max=5 step=1 data-size="xs"> </div></div><div class="col-lg-3"></div> </div>';
});
$('#RevieTypeRatings > div').remove();
$('#RevieTypeRatings > br').remove();
$('#RevieTypeRatings').append(divTr);
}
},
error: function (xhr, status, error) {
var err = eval("(" + xhr.responseText + ")");
alert(err.Message);
}
});
}
答案 0 :(得分:0)
尝试在$ .when中包装你的ajax请求,并在.then中写下你的成功后代码,如下所示:
function GetReviewTypeForRating(hallIDFReview)
{
var valid = false;
var dataInfo="";
$.when(
$.ajax({
url: '@Url.Action("GetReviewRatingTypes", "PublicUser")',
contentType: "application/json; charset=utf-8",
datatype: "json",
data: "{'obj':'" + hallIDFReview + "'}",
type: "POST", // 'GET' or 'POST' ('GET' is the default)
success: function (data) {
if (data != "No Reviews") {
dataInfo = JSON.parse(data);
console.log(data);
valid=true;
}
},
error: function (xhr, status, error) {
var err = eval("(" + xhr.responseText + ")");
alert(err.Message);
}
})).then(function(){
if(valid)
{
var divTr = '';
$.each(dataInfo, function (i, item) {
divTr += '<div class="row"> <div class="col-lg-4"><label>' + item.Description + '</label></div><div class="col-lg-5"><div class="form-group input-group-sm"> <input id="starHallRating'+item.Id+'" value="0" type="number" class="rating" min=0 max=5 step=1 data-size="xs"> </div></div><div class="col-lg-3"></div> </div>';
});
$('#RevieTypeRatings > div').remove();
$('#RevieTypeRatings > br').remove();
$('#RevieTypeRatings').append(divTr);
} //if(valid) close
});
}