简体   繁体   English

函数名称为jquery的变量

[英]variable with function name jquery

Is there any way to concatenate loop with function name like i have form which have append button to add 5 more location div via jquery append function , 5 times loop over location div .location div have state city and zip code code select option which will be call by ajax in jquery here is my code.room is loop name. 有没有办法用函数名称连接循环,例如我有表单,具有附加按钮通过jquery append函数添加5个以上位置div,5次遍历位置div.location div具有状态city和邮政编码选择选项,这将是在jquery中由ajax调用,这是我的代码。room是循环名。

<select data-live-search="true" class="form-control " name="sAState'+room+'" id="sAState'+room+'" onChange="AddLoadCity+room();">
       <option value="1">state1</option>
       <option value="2">state2</option>
       </select>
     <div class="col-lg-10 col-md-9 col-sm-10 col-xs-12" id="AddCityDiv'+room+'" ><select data-live-search="true" class="form-control " name="sCity" id="sCity'+room'" onChange="LoadZipCode'+room+'();"> 
<option value="1">city1</option>
 <option value="2">city2</option></select></div>

        for(i=0;i;i<5;i++)
        {
          function AddLoadCity+i()
            {
            alert($('#sAState'+i+').val()); 
            }
          function AddLoadZip+i()
            {
            alert($('#sCity'+i').val()); }
            }
        }

I don't think you totally want to create multible functions with dynamic names. 我不认为您完全想用动态名称创建多重函数。 But if you really wanted to, you would do it maybe like this: 但是,如果您真的想这样做,您可能会这样做:

var functions = [];
for(i=0;i;i<5;i++)
    {
      functions['AddLoadCity'+i] = function()
        {
        alert($('#sAState'+i).val()); 
        }
      functions['AddLoadZip'+i] = function()
        {
        alert($('#sCity'+i).val()); }
        }
    }

Then you could call them like 那你可以叫他们

functions.AddLoadZip1()

Edit: 编辑:

Also they is a mistake in 他们也是一个错误

$('#sAState'+i+').val()

namely the +' is a syntax error. 即+'是语法错误。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM