2017-08-01 172 views
1

嗨,大家好,我有一些選擇標籤我銷售的商品頁面。通過HTML和其他人創造了第一個由jQuery的追加時創建一個按鈕用戶點擊添加上這個選擇標籤如何在選擇2觸發事件

$(document).ready(function(){ 
$("#code0").select2(); 
}) 


function append(){ 
    $("table").append("<tr><td><select id='code1' onclick='getvalue(this)'><option>1</option></select></td></tr>"); 
    $("#code1").select2(); 
} 

下一個追加選擇將有ID的詳細

<select id='code0' onclick='getvalue(this)'><option>1</option></select> 

document.ready IM應用選擇2的code2。我管理它沒有任何問題

現在函數的GetValue()將選擇2前工作正常,但將選擇2後選擇不觸發點擊或任何事件。如何在應用選擇2後觸發事件;

function getvalue(item){ 
    alert("event triggered"); // to check that jquery called this function or not 
    console.log(item.value); 
} 

單擊選擇標記不調用get value函數;

每當頁面加載,我可以看到控制檯

jQuery-2.1.4.min.js:2 Uncaught TypeError: Cannot read property 'call' of null 
    at Function.each (jQuery-2.1.4.min.js:2) 
    at MutationObserver.<anonymous> (select2.min.js:2) 
+0

你能用https://jsfiddle.net/顯示的問題。 –

+0

因此,如果用戶從下拉菜單中選擇,您需要選擇的值。不是嗎? –

+0

是的,我想在用戶選擇時選擇該值。我可以通過.VAL)像$值((「編碼0」)。VAL()函數,但由於其不觸發事件,我不能 – Azeem112

回答

0

這個錯誤一旦鏈接選擇2到現有的選擇。

選擇2倍率選擇,併爲所有選項列表(LI),並選擇是隱藏的。

因此,任何事件添加到選擇不會直接工作。

選擇二插件提供了可用於服務器的需求

分配選擇2 ELE通過插件

var select2Ele = $("#code0").select2(); 

select2Ele.on("select2:select", function (event) { 
    // after option is selected 
}); 

select2Ele.on("select2:selecting", function (event) { 
    // before selection 
}); 

對於上面的代碼中多選擇2給出將工作像這樣的變種和使用方法等功能。在日誌的方法,我們有哪些可以用來獲取當前元素值和其他東西的事件

$eventSelect.on("change", function (e) { log("change"); }); 

function log (name, evt) { 
    if (!evt) { 
    var args = "{}"; 
    } else { 
    var args = JSON.stringify(evt.params, function (key, value) { 
     if (value && value.nodeName) return "[DOM node]"; 
     if (value instanceof $.Event) return "[$.Event]"; 
     return value; 
    }); 
    } 
    var $e = $("<li>" + name + " -> " + args + "</li>"); 
    $eventLog.append($e); 
    $e.animate({ opacity: 1 }, 10000, 'linear', function() { 
    $e.animate({ opacity: 0 }, 2000, 'linear', function() { 
     $e.remove(); 
    }); 
    }); 
} 

參考select2 doc

+0

有多個選擇列表項目。現在我正在使用$(「。select」)。select2()將select2應用於它們全部 – Azeem112

+0

我修改了我的答案 – Ashish451