动态评级在jquery中没有发生,Bootstrap类不起作用

时间:2015-03-17 08:17:49

标签: jquery twitter-bootstrap

虽然动态我绑定了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);
        }
    });

}

1 个答案:

答案 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
    });
}