使用jQuery选中一个复选框

使用jQuery选中一个复选框,jquery,checkbox,Jquery,Checkbox,我使用ASP.NET、jQuery、JSON和jTemplates开发了一个产品目录前端 基本上,前端使用jQuery和JSON从数据库检索一组分页的产品,并使用jTemplate“productItemTemplate”在前端一次显示一个页面上的产品,见下文 以下是我的代码片段: <script type="text/javascript"> var selectedProductIDs='1,2' function displayProductCheckboxes()

我使用ASP.NET、jQuery、JSON和jTemplates开发了一个产品目录前端

基本上,前端使用jQuery和JSON从数据库检索一组分页的产品,并使用jTemplate“productItemTemplate”在前端一次显示一个页面上的产品,见下文

以下是我的代码片段:

<script type="text/javascript">
var selectedProductIDs='1,2'

    function displayProductCheckboxes() {
        var productIDs = selectedProductIDs.split(", ");
        var checkboxes = $('input:checkbox[name="chkProduct"]');

        for (var j = 0; j < productIDs.length; j++) {
            checkboxes
            .filter('[id="' + productIDs[j] + '"]')
            .attr('checked', 'checked');
        };
    }
每个产品都有一个复选框“chkProduct”-见上文。我希望用户能够通过单击关联的复选框来选择产品,并跨页面维护用户的选择

为了实现这一点,我维护了一个选定产品ID列表“SelectedProductID”-见上文

每次我加载一页产品时,我都会调用函数“DisplayProductCheckBox”,该函数用于检查以前选中的复选框

不幸的是。它不会选中以前选中的复选框

请任何人帮我解决这个问题,或者建议一个替代的工作解决方案

谢谢

问候


Walter

我在IE中遇到了这个问题。我设置了defaultChecked属性


checkBox.defaultChecked=true

您的示例函数在FF 10.0.2和jQuery 1.7.1中正常工作。可能您没有调用函数DisplayProductCheckBox;在$document.ready上


我构建了一个小的JSFIDLE:。

jQuery在1.6版中引入了prop方法,因为attr在各种情况下长期存在问题。对于checked等属性,请使用prop而不是attr。选中的是元素属性而不是属性


附带的,不是问题的一部分,但是在您的示例中,复选框后面有一个rogue标记-其中包含div的也要处理。这个selectProduct实际上在做什么?。。有Ajax调用吗?Abhijeet:JavaScript:selectProduct是一个我维护“selectedProductId”列表的函数,没有Ajax调用。我创建了这个JSFIDLE:-这是否证明了jQuery代码的核心是好的,并且可能是HTML错误造成的?不完全确定。不管是哪种方式,希望能有所帮助。。。。如果SelectedProductId设置正确,则复选框将被选中EdSpaceBison:感谢您发现了rogue标记。感谢Seybsen正在调用该函数。抱歉,danpickett我不明白如何在上面提供的代码段中使用此解决方案。
    <script type="text/html" id="productItemTemplate">    
        <ul class="items-list">        
        {#foreach $T.items as record}                                       
            <li class="item-detail">

              <a class="item-productimage-link" href="<%=Page.ResolveUrl("~/Product/Detail.aspx?ProductID={$T.record.ProductSummaryViewID}") %>">
                <img class="item-productimage" src="<%=Page.ResolveUrl("~/Content/Images/Products/{$T.record.ProductSummaryViewID}.jpg") %>" />
              </a>

              <div class="item-productname">
                <a href="<%=Page.ResolveUrl("~/Product/Detail.aspx?ProductID={$T.record.ProductSummaryViewID}") %>">{$T.record.BrandName} {$T.record.Name}</a>
              </div>

             <div class="item-price">{$T.record.Price}</div>

             <div><input type="checkbox" class="" name="chkProduct" id="{$T.record.ProductSummaryViewID}" onclick="JavaScript:selectProduct({$T.record.ProductSummaryViewID})"/>Select me!</label></div>

           </li>
           {#/for}  
        </ul>                  
    </script>