2

jQueryについて質問があります。特定のイベントでjQueryを含むjavascript関数にIDを渡すことはできませんか?

たとえば、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'));
});
4

4 に答える 4

0

ネイティブJavaScriptを使用してオブジェクトを取得し、変数「ソース」に割り当てました

  function update_ddl(source_id, target_id) {

    var source = document.getElementById('source_id');
    source.change(function() {
        alert('$("#'+ source_id + ' option:selected").attr("value")');
    });  

 }
于 2012-07-26T18:24:38.213 に答える
0

次のようなデータとして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'));
    });
}

これにより、データプロパティが作成され、イベントオブジェクトに追加されます。

于 2012-07-26T18:05:19.730 に答える
0
update_dll('empTypedll', 'empType');

する必要があります

update_ddl('empTypeddl', 'empType');
于 2012-07-26T18:35:21.507 に答える
0

コードにタイプミスがあります:

function update_ddl(source_id, target_id) {

次のようにする必要があります。

function update_dll(source_id, target_id) {
于 2012-07-26T18:06:40.080 に答える