js / jquery遍历html元素以动态构建字符串

时间:2013-11-11 15:05:35

标签: javascript jquery html

我想基于html表单中定义的值构建一个字符串,只有它们已经填充。我已经使用for循环($ .each())成功解析了表单字段和下拉列表,但是我的最终目标是使用结果动态构建字符串。该字符串用于创建REST查询,这是目前基于我们的技术进行搜索的唯一方法。有没有人有推荐的解决方案?

事先提前

示例html元素:

<input data-param=" prefix like '%" data-name="prefix" class="prefix uno" type="text" placeholder="pre">

使用btn点击事件循环来捕获填写的表单字段:

var children = $(this).parent().children('.uno');
    $.each(children, function(i, val){
        if($(val).val() !== ''){
            console.log($(val).data('name') + " "+ $(val).data('param') + " " + $(val).val());
        }
    });

目标

var newString = field1.param + field1.val + '% ' + field2.param + field2.val + '% ';
translated:
var newString = prefix like '%01%' and name like '%tree%';

1 个答案:

答案 0 :(得分:0)

感谢David Fregoli提供的jquery序列化参考,这很接近,但解决方案最终是将字符串放入单个数组中,更改它toString(),然后删除','来自新字符串。

代码:

var samp = [],
    thisVal = $(this).parent().children('.uno');

$.each(thisVal, function(i, val){
        if($(val).val() !== ''){
            samp.push(
                $(val).data('param'),
                $(val).val(),
                $(val).data('close')
            );
        }
    });

    itQuery.where = samp.toString().replace( /,/g , '');

结果搜索字符串:

  

“数字如'%08%'和字段= 34”