Я хотел бы построить строку на основе значений, определенных в форме html, только если они были заполнены. Я успешно проанализировал поля формы и раскрывающийся список с помощью цикла for ($.each()), но моей конечной целью является динамическое построение строки с результатами. Строка используется для создания запроса REST, в настоящее время это единственный способ поиска на основе наших технологий. У кого-нибудь есть рекомендуемое решение?
спасибо заранее
sample html element:
<input data-param=" prefix like '%" data-name="prefix" class="prefix uno" type="text" placeholder="pre">
рабочий цикл btn click для захвата заполненных полей формы:
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%';
Спасибо Дэвиду Фреголи за ссылку на серийную серию jquery, которая была близка, но решение оказалось для того, чтобы поместить строки в один массив, изменить его наString() и удалить "," из новой строки.
код:
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"
.join('')
будет делать то же самое, что и toString()
без запятых
serialize
api.jquery.com/serialize