jQuery 函数与硬编码。功能不工作

标签 jquery html

我有一个关于 jQuery 的问题。不能将 id 传递给包含具有某些事件的 jQuery 的 javascript 函数吗?

例如,load_dll 可以完美运行。我正在努力让 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/

相关文章:

php - 如何知道 jquery $.get ajax 调用何时完成?

html - 如何在angularjs中创建像音量 slider 一样的水平 slider ?

javascript - 如何使用 Bootstrap 按钮组和 AngularJS 在页面之间导航

css - 如何在使用 html 和 chartjs 时放置 y 轴和 x 轴标签

javascript - 首先为厨房加载 "Loading"图像

jquery - MVC 与 Ajax 和 jQuery 表单提交问题

javascript - 在 while 条件下 get 将无法正常工作

javascript - 链接到另一个页面上的 anchor 位于错误的位置 (Firefox)

html - 更改菜单名称

javascript - 在对象结构中转换 HTML 表格