当用户点击按钮时,我正在创建动态输入。这是创建输入ok,但在我的函数中,它没有响应我指定的名称。换句话说,不启动该功能。 firebug或我使用的任何其他控制台都没有错误。我是否以正确的方式使用名称选择器?。
如果有人能指出为什么这个功能没有解雇,我将不胜感激。非常感谢
更新: 我终于设法解决了这个问题:
$('input[name="box_add[]'+FieldCount+'"]').inputlimiter({
limit: 1,
limitBy: 'words',
remText: 'You only have %n word%s remaining...',
limitText: '<b><font color=\"red\">Field limited to %n box%s.</font></b>'
});
创建输入的功能。这工作正常
$(function() {
var MaxInputs = 19; //maximum input boxes allowed
var InputsWrapper = $("#INTKInputsWrapper"); //Input boxes wrapper ID
var AddButton = $("#INTKAddMoreFileBox"); //Add button ID
var x = InputsWrapper.length; //initlal text box count
var FieldCount=1; //to keep track of text box added
$(AddButton).click(function (e) //on add input button click
{
if(x <= MaxInputs) //max input box allowed
{
FieldCount++; //text box added increment
//add input box
$(InputsWrapper).append('<div><input style="margin-left: 16px; margin-bottom: 12px; width: 250px; height:30px;" type="text" class="boxadddef" name="box_add[] '+FieldCount+'" required="required" /><a href="#" class="removeclass"><img src="/domain/users/css/images/redclose.png" style="margin-left: 10px; margin-right:10px;" /></a><span class="removespan" style="margin-left:2px;font-size:10px;color: grey;">Remove</span></div>');
x++; //text box increment
}
return false;
});
$("body").on("click",".removeclass", function(e){ //user click on remove text
if( x > 1 ) {
$(this).parent('div').remove(); //remove text box
x--; //decrement textbox
FieldCount--;
}
return false;
})
});
不正确的功能
$(function() {
$('input[name="box_add[]"]').inputlimiter({
limit: 1,
limitBy: 'words',
remText: 'You only have %n word%s remaining...',
limitText: '<b><font color=\"red\">Field limited to %n box%s.</font></b>'
});
});
答案 0 :(得分:3)
两种可能性。
请注意input
标记:
$(InputsWrapper).append('...name="box_add[] '+FieldCount+'"...');
// ^^^^^^^^^^^^^^^^^^^^^^^^^^
这会产生box_add[] 0
(注意空格),box_add[] 1
等名称。但是你正在寻找显然不匹配的name="box_add[]"
。< / p>
我的直觉说你真的不想在那里计算字段,但是如果你真的这样做了,你可能想要使用attribute-starts-with选择器:name^="box_add[]"
。
确保在创建所有input
后,您正在执行后一个代码块。