如何在客户端单击上填充dataList

时间:2013-02-07 09:38:23

标签: jquery

我使用jquery ajax方法来填充datalist。

我的客户端脚本是:

<script src="scripts/jquery-1.8.3.min.js" type="text/javascript"></script>
 <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
 <script type="text/javascript">
     $(document).ready(function () 
     {
         $("#btnsubmit").click(function () {
             $("[id*=dlCustomers]").hide();
             $.ajax({
                 type: "POST",
                 url: "13.aspx/GetCustomers",
                 data: '{}',
                 contentType: "application/json; charset=utf-8",
                 dataType: "json",
                 success: OnSuccess,
                 failure: function (response) {
                     alert(response.d);
                 },
                 error: function (response) {
                     alert(response.d);
                 }
             });
         });
     });

    function OnSuccess(response) {
        var xmlDoc = $.parseXML(response.d);
        var xml = $(xmlDoc);
        var customers = xml.find("Table");
        var repeatColumns = parseInt("<%=dlCustomers.RepeatColumns == 0 ? 1 : dlCustomers.RepeatColumns%>");
        var rowCount = Math.ceil(customers.length / repeatColumns);
        var i = 0;
        while (i < repeatColumns * rowCount) {
            var row = $("[id*=dlCustomers] tr").eq(0).clone(true);
            for (var j = 0; j < repeatColumns; j++) {
                var customer = $(customers[i]);
                if (customer.length == 0) {
                    $("table:last", row).remove();
                } else {
                    $(".name", row).eq(j).html(customer.find("ContactName").text());
                    $(".city", row).eq(j).html(customer.find("City").text());
                    $(".postal", row).eq(j).html(customer.find("PostalCode").text());
                    $(".country", row).eq(j).html(customer.find("Country").text());
                    $(".phone", row).eq(j).html(customer.find("Phone").text());
                    $(".fax", row).eq(j).html(customer.find("Fax").text());
                }
                i++;
            }
            $("[id*=dlCustomers]").append(row);
        }
        $("[id*=dlCustomers] tr").eq(0).remove();
        $("[id*=dlCustomers]").show();
    }
</script>

DataList Id是dlCustomers

我的问题是错误:

无法修改Controls集合,因为该控件包含代码块(即&lt;%...%&gt;)

产生此错误的是:

var repeatColumns = parseInt(“&lt;%= dlCustomers.RepeatColumns == 0?1:dlCustomers.RepeatColumns%&gt;”);

建议我如何修改此行以使其正常工作

Thanx提前!

0 个答案:

没有答案