Jquery 写入隐藏字段的无尽输入字段
我正在寻找一种jquery解决方案,它使用来自无限多输入框的值填充隐藏字段。隐藏字段中的值应以“;”分隔。应该始终有一个空的输入字段。在该输入字段中输入值后,应显示一个新值。当一个字段为空时,应取消显示另一个空字段 如果有一个插件可以做到这一点,那么如果你能给我指出正确的方向,我将非常高兴Jquery 写入隐藏字段的无尽输入字段,jquery,plugins,input,Jquery,Plugins,Input,我正在寻找一种jquery解决方案,它使用来自无限多输入框的值填充隐藏字段。隐藏字段中的值应以“;”分隔。应该始终有一个空的输入字段。在该输入字段中输入值后,应显示一个新值。当一个字段为空时,应取消显示另一个空字段 如果有一个插件可以做到这一点,那么如果你能给我指出正确的方向,我将非常高兴 与此同时,我自己已经拼凑了一些东西,我将作为答案发布。下面的代码将为每个应用endlessinput类的字段应用此逻辑。可能不是最漂亮的代码,但它实现了我希望它实现的功能:- $("input[type='h
与此同时,我自己已经拼凑了一些东西,我将作为答案发布。下面的代码将为每个应用endlessinput类的字段应用此逻辑。可能不是最漂亮的代码,但它实现了我希望它实现的功能:-
$("input[type='hidden'].endlessinput").each(function (i, n) {
$parent = $(n).parent();
$br = $('<br />');
// define a textbox for each value and add an additional empty one
var createInput = function () {
var input = $('<input id="'+guid()+'" type="text" value="" />');
input.unbind('keyup');
input.bind('keyup', function () {
// rebuild the array with values
var arr = [];
$("input[type='text']", $parent).each(function (k, y) {
arr.push($(y).val());
});
$(n).attr('value', arr.join(';'));
// Add another input field if no empty one is available
emptyInputs = $('input:text[value=""]', $parent).filter(function (o, p) { return $(p).val() == '' });
if (emptyInputs.length == 0) {
$($("br", $parent).last().length > 0 ? $("br", $parent).last()[0] : $(n)).after(createInput(), "<br />");
} else if (emptyInputs.length > 1) {
emptyInputs.not(':first').each(function (ix, inp) {
$(inp).next('br').remove()
$(inp).remove();
});
}
});
return input;
}
// get values in an array
var values = $(n).val().split(';');
$(values).each(function (j, x) {
var newInput = createInput();
newInput.attr('value', x);
$($("br", $parent).last().length > 0 ? $("br", $parent).last()[0] : $(n)).after(newInput, "<br />");
});
$($("br", $parent).last().length > 0 ? $("br", $parent).last()[0] : $(n)).after(createInput(), "<br />");
});
你在不到3分钟的时间里就自己的问题写了一个答案?看着答案,似乎写出来的时间肯定超过了3分钟。你想把它添加到你的问题中还是留作回答?我这样做是因为我想把它放在stackoverflow上,以备将来参考,因为我还没有找到一个合适的解决方案。我希望通过这种方式为社区做出贡献。如果有别的办法,我会适应的。为什么要把它放在这个问题上呢?