我想基于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%';
答案 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”