0

選択ボックスがあります。変更すると、トリガーされるアラートがあります。

私のページには、それぞれが同じ選択ボックスを持つさまざまな製品のグリッドが表示されます。改ページにはAjaxを使用します。ユーザーが次のページをクリックするか、別のカテゴリを選択すると、Ajaxは次のロットの製品をロードします。

ただし、製品をロードすると、選択ボックスの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;    
}
4

2 に答える 2

0

要素は動的に作成されるため、事後にイベントをバインドする必要があります。

于 2013-01-24T12:18:13.057 に答える
0

製品を Ajax リクエストからロードしている場合、製品はアクションの後にページに添付されています$(document).ready()。が$(document).ready()トリガーされると、Ajax リクエストから取得されている商品はページにありません。

次に、「loadProducts」Ajax リクエストを呼び出すたびに、Ajax リクエストから「来る」新しい select 要素にアクションを再バインドする必要があります。

于 2013-01-24T12:18:33.860 に答える