Ajax分页后,jQuery选择更改不起作用

时间:2013-01-24 12:12:18

标签: jquery ajax

我有一个选择框。在改变时,我有一个触发的警报。

我的页面显示不同产品的网格,每个产品都有相同的选择框。我使用Ajax进行分页。当用户点击下一页或选择其他类别时,Ajax会加载下一批产品。

但是,当它加载产品时,选择框的onchange事件不再起作用。它只适用于第一页。

有什么想法吗?

Onchange事件

$('.cardid').change(function() {
    alert('changed');
});

选择框

// Fill select box for Pictures with basket options
function picture_details($Products_SKU) {
    $selector=array("Framed ","Mounted ","Print ");
    $rtn = "";
    $DB = new mysql_db();
    $DB->sql_connect();
    // Select mounted and print products. Products SKU ends in either M or P
    $q = "SELECT Products_ID, Products_SKU, Products_Cost, Products_Size FROM products WHERE Products_SKU LIKE '".$Products_SKU."%' ORDER BY Products_ID ASC";
    $DB->query($q);
    if ($DB->get_num_rows()) {
        $results = $DB->fetch_all_rows(MYSQL_ASSOC, NULL);
        foreach ($results as $key => $row) { 
            $rtn .= "<tr><th style='width:100px;'>". $selector[$key]. ":</th><td style='width:300px;'> &pound;". $row['Products_Cost'] ." (". $row['Products_Size'] .")</td></tr>";     
        }
    }

    return $rtn;    
}

2 个答案:

答案 0 :(得分:0)

由于元素是动态创建的,因此您需要在事后绑定事件。

答案 1 :(得分:0)

如果您是从Ajax请求加载产品,则会将其附加到 AFTER $(document).ready()操作页面。触发$(document).ready()时,页面上的Ajax请求检索的产品不是

然后,每次调用“loadProducts”Ajax请求时,都需要将操作重新绑定到从Ajax请求“提交”的新select元素。