0

我想基于 html 表单中定义的值构建一个字符串,前提是它们已被填充。我已经使用 for 循环 ($.each()) 成功解析了表单字段和下拉列表,但我的最终目标是使用 results 动态构建字符串。该字符串用于创建 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%';
4

1 回答 1

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 的数字”

于 2013-11-11T19:55:11.313 回答