如何将参数传递给我的JavaScript函数?

问题描述:

我有这个JavaScript函数:如何将参数传递给我的JavaScript函数?

function prefixOneDropDown(){ 

     var source = $('#prefix-one'); 
     var selected = source.find('option[selected]'); 
     var options = $('option', source); 
     var DefinitionList = '<dl id="dd-prefix-one" class="dropdown f-left"><dt><a href="#">' + selected.text() + '<span class="value">' + selected.val() + '</span></a></dt><dd><ul></ul></dd></dl>'; 
     $(DefinitionList).insertAfter(source); 

     options.each(function(){ $("#dd-prefix-one dd ul").append('<li><a href="#"><span class="number-plate">' + $(this).text() + '</span><span class="value">' + $(this).val() + '</span></a></li>'); }); 
    } 

我想知道是否有一种方法声明var selected, options, DefinitionList功能之外......然后打电话给他们作为参数?

我试过了一些不同的方法,但我错过了一些东西。

的函数被调用我的JS像这样:prefixOneDropDown();

任何帮助将不胜感激,谢谢

+0

为什么我想要的变量声明的原因外面是有这些功能中的五个...所以只声明一次 – Nasir 2011-01-20 14:12:49

你试试这个:

function prefixOneDropDown(source, options, dl){ 

    $(dl).insertAfter(source); 

    options.each(function(){ $("#dd-prefix-one dd ul").append('<li><a href="#"><span class="number-plate">' + $(this).text() + '</span><span class="value">' + $(this).val() + '</span></a></li>'); }); 
} 

var source = $('#prefix-one'), 
    selected = source.find('option[selected]'), 
    options = $('option', source), 
    DefinitionList = '<dl id="dd-prefix-one" class="dropdown f-left"><dt><a href="#">' + selected.text() + '<span class="value">' + selected.val() + '</span></a></dt><dd><ul></ul></dd></dl>'; 

prefixOneDropDown(source, options, DefinitionList); 
+0

我可能是错的,但`select`和`option`没有在函数中使用 – pimvdb 2011-01-20 14:31:52