2012-01-06 76 views
1

我正在使用jquery(mobile)生成隱藏/顯示HTML表格列的選擇菜單。如何在動態生成的多選中觸發change()?

是這樣的:

container = $('<select name="toggleCols" id="toggleCols" multiple="multiple"><option value="default" data-placeholder="true">Edit</option></select>'); 

$('.tableRows').each(function(i) { 
    if ($(this).is(".toggle")) { 
     var toggle = $('<option value="'+i+'">sometext'+i'+</option>'); 
    container.find("#toggleCols").append(toggle); 
    }); 

這將創建選擇菜單,其中包含了每種表列一個選項。選擇此選項應該隱藏/切換相應的表格列。

但是,我不能得到改變事件火了:如果我使用活(「變化」 ...並有10列

$("#toggleCols").change(function(){ 
    console.log("change") 
    // do stuff 
    }) 

,每次都遇到我選擇一次10個console.logs一個單一的選擇。因此,這也不行。

問題
是否有使用更改,恕不現場,並得到一個單一的console.log的方式?

+1

顯示一個_testcase_,而不是您不使用的任意代碼片段。 – 2012-01-06 15:25:19

+1

你能幫我們一把小提琴嗎? – 2012-01-06 15:26:52

+0

你可能需要綁定或觸發事件 – 2012-01-06 15:31:09

回答

0

我應該從添加選項的循環中刪除事件綁定。然後使用直播工作正常,只發生一次。