Javascript 将jquery变量连接到字符串,以便向动态生成的输入字段添加id
我试图根据在单独的输入字段中指定的数量动态添加输入字段。我已经通过使用jquery代码从一个类似的问题中获得了成功。我一直无法将“id”变量连接到输入字段的id 对不起,我是含糊不清的,我会包括下面的所有代码,这样你可以看到我试图做什么。另外,一些html表单代码不是标准的,因为我使用的是Laravel框架 HTML jquery }) 当我需要的是Javascript 将jquery变量连接到字符串,以便向动态生成的输入字段添加id,javascript,jquery,html,Javascript,Jquery,Html,我试图根据在单独的输入字段中指定的数量动态添加输入字段。我已经通过使用jquery代码从一个类似的问题中获得了成功。我一直无法将“id”变量连接到输入字段的id 对不起,我是含糊不清的,我会包括下面的所有代码,这样你可以看到我试图做什么。另外,一些html表单代码不是标准的,因为我使用的是Laravel框架 HTML jquery }) 当我需要的是 任何帮助都将不胜感激。在Essene Julien中,{{Form:text}}最终被呈现,就好像你看了浏览器上呈现的HTML,你不会看到任何{{
任何帮助都将不胜感激。在Essene Julien中,{{Form:text}}最终被呈现,就好像你看了浏览器上呈现的HTML,你不会看到任何{{{Form:text}标记一样。你想这样做是有什么特别的原因,还是仅仅为了保持它的统一?{{Form:text}给您带来了什么好处?{{Form:}是服务器生成的,而不是客户端生成的。如果您在页面呈现后查看标记,我很确定您将查看标记。不,我正在编写的输入不是由服务器生成的,服务器将它们解释为,为什么这一点很重要,因为您要求jquery创建一个输入字段并将其添加到您的页面中,而在创建的标记中没有输入。我敢打赌,如果您将其更改为var newInput=$,并将其添加到newInput,它应该会被渲染。{{Form::Submit}}这是AngularJs吗?但就我所理解的jquery而言,我只是要求它以该脚本输出文本。在这种情况下,格式为{{Form::}}或不应该很重要,但我会尝试一下,我认为这很重要,因为如果你使用角度符号,在某个点上,符号仍然会被解释为HTML,在页面上呈现。我怀疑浏览器是否知道{{Form::text}}代表一个文本框。这是有效的-尽管可以输出{{Form::text}}来代替吗?对不起,这是jQuery,所有{{Form::text}都会给出错误:语法错误,无法识别的表达式。只是好奇这是否可能。我将使用您的解决方案来完成我的工作,但我只是想知道是否有可能坚持{{Form}约定。如果它会导致大量混乱的jquery处理,那么这并不重要。除非有办法将{{Form}约定粘贴在那里,并调用负责将该约定转换为适当HTML标记的任何东西。换句话说,就是大量不必要的混乱代码。好吧,谢谢你的帮助!很高兴我能帮忙
function addFields(n) {
for (i = newFields.length; i < n; i++) {
var newInput = $('<input id="index' + i + '" type="text" placeholder="column">');
newFields = newFields.add(newInput);
newInput.appendTo('#newFields');
i++;
}
}
$(function() {
//var input = $('{{ Form::text("awe", null, ["placeholder" => "column"]) }}');
var newFields = $('');
var id = $(1);
$('#qty').bind('blur keyup change', function() {
var n = this.value || 0;
if (n+1) {
if (n > newFields.length) {
addFields(n);
} else {
removeFields(n);
}
}
});
function addFields(n) {
for (i = newFields.length; i < n; i++) {
var newInput = $('{{ Form::text("' + id + '", null, ["placeholder" => "column"]) }}');
newFields = newFields.add(newInput);
newInput.appendTo('#newFields');
id++;
}
}
function removeFields(n) {
var removeField = newFields.slice(n).remove();
newFields = newFields.not(removeField);
}
function addFields(n) {
for (i = newFields.length; i < n; i++) {
var newInput = $('<input id="index' + i + '" type="text" placeholder="column">');
newFields = newFields.add(newInput);
newInput.appendTo('#newFields');
i++;
}
}