Jquery mobile 单击一个复选框将选中Jquery mobile中的所有复选框

Jquery mobile 单击一个复选框将选中Jquery mobile中的所有复选框,jquery-mobile,cordova,Jquery Mobile,Cordova,在jquery mobile中,我为产品创建了一个单独的页面。它是使用phonegap从查询本地Sq lite数据库动态加载的。下面的编码工作正常,并使用复选框显示产品列表。但如果我单击一个复选框,则所有复选框都将被选中。屏幕上还会显示一些本机复选框。如何正确显示此复选框列表并在提交时获取复选框值 $('#productspage').live('pageinit',function(event){ loadProducts(); }); // Load Products for Pr

在jquery mobile中,我为产品创建了一个单独的页面。它是使用phonegap从查询本地Sq lite数据库动态加载的。下面的编码工作正常,并使用复选框显示产品列表。但如果我单击一个复选框,则所有复选框都将被选中。屏幕上还会显示一些本机复选框。如何正确显示此复选框列表并在提交时获取复选框值

$('#productspage').live('pageinit',function(event){
    loadProducts();
});

// Load Products for Products page
function loadProducts()
{
    var db=window.openDatabase("salesorder", "1.0", "SalesOrder", 1048576);
    if(db!=null)
    {
        db.transaction(queryProductsTable, errorPT);
    }
    else
    {
        alert("table not exists");
    }
}


function queryProductsTable(tx)
{
    tx.executeSql('SELECT * FROM products', [], queryProductsSuccess, errorPT);
}

function errorPT(err) {
    alert("Error processing SQL: "+err.code);
}

//Query products and append to products_list
function queryProductsSuccess(tx, results) {
    var len = results.rows.length;
    $("#products_list").empty();
    for (var i=0; i<len; i++){
           var product_id=results.rows.item(i).productid; // Returns null
           var product_name=results.rows.item(i).productname;
           var product_price=results.rows.item(i).unit_price;
           var product_stock=results.rows.item(i).qtyinstock;
           $("#products_list").append("<input type='checkbox' name='products_check' id='"+product_id+"' value='"+product_name+"' price='"+product_price+"' stock='"+product_stock+"'  class='custom'><label for='"+product_id+"'>"+product_name+"</label>");
      }
      $("#products_list").trigger("create");
}

您为每个复选框指定了相同的名称。将行号附加到名称中,以便获得唯一的名称。

我修改了每个复选框的唯一id,但不起作用。我看到屏幕上显示了一个不需要的本机复选框。所有复选框都取决于此本机复选框。我解决了此问题…在QueryProductsAccessTX中,结果函数product id返回null。因此,此复选框无法正确渲染,也无法选择。在产品id问题中进行更改后,它可以正常工作。