2017-08-01 130 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