Jquery 在不使用ID'的情况下,一次一个地将多个文本字段作为目标,而不是一次将所有文本字段作为目标;s
我还没有完成,但我计划根据用户输入用php生成文本字段。所以,如果他们输入3,那么他们应该得到3个文本字段来填充等等 我可以选择一个类或输入,而不是给每个文本字段一个ID(我必须应用代码对文本字段进行编号,并根据它们选择的编号进行增量)?我曾经尝试过这样做,但是使用ajax搜索,结果会出现在所有文本字段中,而不仅仅是他们输入的文本字段Jquery 在不使用ID'的情况下,一次一个地将多个文本字段作为目标,而不是一次将所有文本字段作为目标;s,jquery,ajax,Jquery,Ajax,我还没有完成,但我计划根据用户输入用php生成文本字段。所以,如果他们输入3,那么他们应该得到3个文本字段来填充等等 我可以选择一个类或输入,而不是给每个文本字段一个ID(我必须应用代码对文本字段进行编号,并根据它们选择的编号进行增量)?我曾经尝试过这样做,但是使用ajax搜索,结果会出现在所有文本字段中,而不仅仅是他们输入的文本字段 <div class="form-group"> <input type="text" name="name" auto
<div class="form-group">
<input type="text" name="name" autocomplete="off">
<div class="result"></div>
</div>
<div class="form_group">
<input type="text" name="name" autocomplete="off">
<div class="result"></div>
</div>
$(document).ready(function(){
$("input").keyup(function(){
$(".loader").show();
var input = $(this).val();
if (input.length >3){
$.ajax({
type: 'POST',
url: 'insert-ajax.php',
data: {name:input},
success: function(data){
if(!data.error) {
$(".result").html(data);
$(".loader").hide();
}
}
});
}
if (input.length <1) {
$(".loader").hide();
$(".result").html("");
}
});
$(".result").on( "click", "li", function() {
console.log($(this).text());
$("input").val($(this).text());
});
});
$(文档).ready(函数(){
$(“输入”).keyup(函数(){
$(“.loader”).show();
var输入=$(this.val();
如果(输入长度>3){
$.ajax({
键入:“POST”,
url:“insert ajax.php”,
数据:{name:input},
成功:功能(数据){
如果(!data.error){
$(“.result”).html(数据);
$(“.loader”).hide();
}
}
});
}
如果(input.length尝试将
$('input').val($this().text);
在您的keyup函数中,如
$(this).text(data);
而不是
$('.result').html(data);
有了jQuery对象,您可以在这里使用大量的遍历函数。据我所知,在每个.results
div中,您都有一个无序列表,您希望能够单击该列表中的li
,并让最近的文本字段填充一个值。如果我是对的,您可以使用.closest()
函数获取该li
的祖先.results
div
,然后使用.sibbins()
函数获取最近的输入字段。例如:
$(".result").on( "click", "li", function() {
console.log($(this).text());
$(this).closest(".result").siblings("input").val($(this).text());
});
有点混乱,但这会起作用。也就是说,我不知道为什么要在keyup处理程序中执行此操作。这可能会导致为li
标记添加多个点击处理程序。谢谢Ananth,我正在使用keyup,因为当用户开始键入时,我希望加载程序开始显示。这是我使用keyup的主要原因。我将我一回到我的开发机器前,就开始编写代码。