循环遍历jquery中动态创建的控件

时间:2010-10-15 19:28:21

标签: javascript jquery

我正在尝试使用以下循环来遍历我的网络表单上动态创建的控件:

            for(x = 0; x <= count; x++) {
                Stmt += $("#DDLColumns" + x).val();
                switch($("#DDLConditional" + x).val()) {
                    case "is equal": Stmt += " = ";
                        break;
                    case "begins with": Stmt += " LIKE '%";
                        break;
                    };
                Stmt += $("#WhereText" + x).val();
                Stmt += ", ";
            }

这是从val()函数输出的未定义和空值。我在这里做错了什么?

2 个答案:

答案 0 :(得分:0)

确保在for循环之外有var Stmt以避免作用域问题并在函数末尾返回Stmt。

答案 1 :(得分:0)

您可能需要考虑使用不同的选择器来获取prefix selector的所有DDLColumns。

根据DDLConditional选择的元素类型,您可以使用相同的样式选择器,但使用value属性。

伪代码:

$('[id|=DDLColumns').each( function(i,value){
   $(value).find('[value|=is]').each( function(){
       Stmt += " = ";
   });

   $(value).find('[value|=begins]').each( function(){
       Stmt += " LIKE ";
   });

   // more stuff
});