Javascript 如何使用存储在数组中的select2对象事件?
我正在尝试破解一些Opentext表单,我在下面创建了一个包含select2对象的数组。如何使用触发事件的对象的数组索引?还是有更好的方法 joblink变量是一个隐藏元素,用于存储opentext写入和读取的值Javascript 如何使用存储在数组中的select2对象事件?,javascript,jquery,events,select2,opentext,Javascript,Jquery,Events,Select2,Opentext,我正在尝试破解一些Opentext表单,我在下面创建了一个包含select2对象的数组。如何使用触发事件的对象的数组索引?还是有更好的方法 joblink变量是一个隐藏元素,用于存储opentext写入和读取的值 for(var b = 0; b <= 15; b++){ JobSelect[b] = $('#Job' + (b + 1) + 'Trans').select2({ width: '100%', Height: '100%' }).on('chang
for(var b = 0; b <= 15; b++){
JobSelect[b] = $('#Job' + (b + 1) + 'Trans').select2({ width: '100%', Height: '100%' }).on('change', function(e){
$(joblink[b]).val(this.value);
});
if ($(joblink[b]).val() != '')
{
$(JobSelect[b]).val($(joblink[b]).val()).trigger("change");
}
}
for(var b=0;b这里有一个指向我建议的解决方案的JSFIDLE链接:
评论是内联的:
for (var b = 0; b <= 15; b++) {
// in your event handler, add a second parameter
JobSelect[b] = $('#Job' + (b + 1) + 'Trans').select2({ width: '100%', Height: '100%' }).on('change', function (e, eData) {
// puts the selected value in the job link
// and put the variable here
$(joblink[eData]).val(this.value);
});
//If not blank, makes what ever in job link the selected value so it will put the value back in the job link
// seems circular.
if ($(joblink[b]).val() != '') {
// add b as second parameter
$(JobSelect[b]).val($(joblink[b]).val()).trigger("change", b);
}
}
// set up all selects
$('select').select2({ width: '100%', Height: '100%' });
$.each(joblink, function (idx, item) {
var link = $(item).val();
if (link.length > 0) {
$('#Job' + (idx + 1) + 'Trans').val(link).trigger('change');
}
})