【问题标题】:Wrong bind on aspx from jquery来自 jquery 的 aspx 绑定错误
【发布时间】:2017-01-29 08:50:50
【问题描述】:

在引导轮播上绑定一些数据时遇到问题。数据集完美,但在 HTML 上绑定失败。
这里是 jQuery sn-p:

function OnSuccessNews(response) {
var news = response.d;
$(news).each(function (item) {
    $("#notizie").append("<div class=\"item container\">");
    $("#notizie").append("<h4>" + news[item].Title + "</h4>");
    $("#notizie").append("<p>" + news[item].Text + "</p>");
    $("#notizie").append("<div class=\"post\"></div>");
    $("#notizie").append("</div>");
});
$('.item').first().addClass('active');
$('#carouselNews').carousel();
}


然后是aspx页面:

<div class="row">
    <div class="col-md-12">
        <div class="carousel slide" id="carouselNews">
            <div class="carousel-inner" id="notizie"></div>
        </div>
    </div>
</div>


问题是:我必须在引导轮播中绑定一些新闻(带有标题和文本),循环无限循环新闻。
现在这段代码显示了新闻中的所有数据,没有循环。如何一次显示2条新闻并循环下一条新闻?

【问题讨论】:

    标签: javascript jquery html asp.net twitter-bootstrap


    【解决方案1】:

    这样做:

    function OnSuccessNews(response) {
    var news = response.d;
    $(news).each(function (item) {
        var container = $("<div class=\"item container\"></div>");
    
        container.append("<h4>" + news[item].Title + "</h4>");
        container.append("<p>" + news[item].Text + "</p>");
        container.append("<div class=\"post\"></div>");
        $("#notizie").append(container);
    });
    $('.item').first().addClass('active');
    $('#carouselNews').carousel();
    }
    

    创建一个容器并将数据放入容器中并附加到$("#notizie)

    【讨论】:

    • 部分有效。仍然看到所有数据绑定。我认为$('.item').first().addClass('active');不能正常工作:如果我在活动类中添加var container = $("&lt;div class=\"item container\"&gt;&lt;/div&gt;");,则显示全部,如果我删除则显示无 - 好的,找到问题,它在 DOM 中搜索第一个 item,并找到 3 个中的第一个轮播(我的是最后一个,第二个位置有另一个 doto 定制)。我只是在课堂上标记一个自定义标志。
    • 试试这个:$("#carouselNews .item:first).addClass('active')
    【解决方案2】:

    尝试这样,获取目标divinnerHTML 并将所有元素添加到该div,最后将innerHTML 添加到创建的HTML 字符串

     HTML = document.getElementById('notizie').innerHTML;
     $(news).each(function (item) {
          HTML += "<div class=\"item container\"></div>";
          HTML += "<h4>" + news[item].Title + "</h4>";
          HTML += "<p>" + news[item].Text + "</p>";
          HTML += "<div class=\"post\"></div>";
     });
    document.getElementById('notizie').innerHTML = HTML;
    

    【讨论】:

      猜你喜欢
      • 2014-12-26
      • 2013-09-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-10
      • 2017-09-25
      • 1970-01-01
      相关资源
      最近更新 更多