【问题标题】:Add argument off function to string in javascript在javascript中将参数关闭函数添加到字符串
【发布时间】:2012-11-30 17:02:56
【问题描述】:

我想将函数的参数添加到字符串中(我不确定这是否正确)

function changeChart(form, chart, bar) {

            //chart 2 (left)
            $(form).change(function (){

                console.log(form);

                $(form + "option:selected").each(function(){
                //rest of the function

我希望将表单添加到 Jquery 中的选择中。

这是正确的方法吗?

【问题讨论】:

  • 您在执行此操作时遇到问题吗?
  • form 是什么样的?是actual object,如$('#myForm'),还是选择器的字符串表示,如#myForm

标签: javascript jquery function arguments


【解决方案1】:

如果form是一个字符串,你需要确保"option:selected"之前有一个空格。

$(form + " option:selected").each(function(){

如果form是一个元素,将它传递给jQuery函数,然后使用find

$(form).find("option:selected").each(function(){

或者使用上下文参数(虽然IMO代码不太清楚)

$("option:selected", form).each(function(){

不过,由于您在处理程序中,您可以只使用this 来引用表单元素。

$(this).find("option:selected").each(function(){

【讨论】:

  • $(form).find("option:selected") 在这种情况下应该是 $('option:selected', form)
  • @Ohgodwhy:我加了这个,但你为什么说它“应该”?将form 添加为上下文的效率有点低。
  • @Ohgodwhy - 没关系,后者只是前者的捷径。另一方面,在函数内部,最好在上下文中使用this
【解决方案2】:

如果表单是对应于 ID

的字符串

应该是这样的

$('#' + form)

$('#' + form + " option:selected")

如果它是一个类,则将 # 替换为

【讨论】:

    猜你喜欢
    • 2014-05-25
    • 2013-05-07
    • 1970-01-01
    • 2011-10-14
    • 1970-01-01
    • 1970-01-01
    • 2019-05-13
    • 1970-01-01
    相关资源
    最近更新 更多