我有一个关于 jQuery 的问题。不能将 id 传递给包含具有某些事件的 jQuery 的 javascript 函数吗?
例如,load_dl
l 可以完美运行。我正在努力让 update_dll
正常工作。
//Create values for drop down list
var empType = ['Sales Associate', 'New Hire Sales Associate', 'Post-Hire Graduation', 'Senior Supervisor'];
//initialize values
load_ddl(empType, 'empTypeddl');
update_dll('empTypedll', 'empType');
//Populate drop down list function
function load_ddl(arr, id) {
for (i = 0; i < arr.length; i++) {
$('<option/>').val(arr[i]).html(arr[i]).appendTo('#' + id);
}
}
//Update Function
function update_ddl(source_id, target_id) {
$('#' + source_id).change(function() {
alert($('#' + source_id + ' option:selected').attr('value'));
});
}
如果我将它简化为最基本的形式,它仍然可以工作。是否可以传递 ID?
$('#empTypeddl').change(function() {
alert($('#empTypeddl option:selected').attr('value'));
});
最佳答案
尝试像这样将 source_id 作为偶数数据传递:
//Update Function
function update_ddl(source_id, target_id) {
$('#' + source_id).change({source_id: source_id}, function(event) {
alert($('#' + event.data.source_id + ' option:selected').attr('value'));
});
}
这将创建一个数据属性并将其附加到事件对象。
关于jQuery 函数与硬编码。功能不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11675224/