[英]How to use an array together with jQuery.val
我想在页面上有多个表单字段,并将结果放入数组中,然后将其保存到数据库中。 我有,它奏效了。 然后,我放入一个自动完成功能,该功能从数据库中获取建议。 那也可以,但是如果我尝试使用数组则不行。
<input type="text" name="PMS" id="PMS" autocomplete="off" onkeyup="autocomplete2()">
<input type="submit" name="submit" value="Lägg till">
上面和下面提供了自动完成功能
function autocomplete2() {
var keyword = $('#PMS').val();
$.ajax({
url: 'ajax_refresh.php',
type: 'POST',
data: {keyword:keyword},
success:function(data){
$('#Sökord_list').show();
$('#Sökord_list').html(data);
}
}); }
但是,如果我尝试类似
<input type="text" name="PMS[]" id="PMS[]" autocomplete="off" onkeyup="autocomplete2()">
<input type="submit" name="submit" value="Lägg till">
和
function autocomplete2() {
var keyword = $('#PMS[]').val();
$.ajax({
url: 'ajax_refresh.php',
type: 'POST',
data: {keyword:keyword},
success:function(data){
$('#Sökord_list').show();
$('#Sökord_list').html(data);
}
}); }
同样,这可能与我对编程的一些基本原理仍然缺乏了解有关。 非常感谢您的帮助! 请告诉我是否需要更多代码。
@瑞典人
我们将[]用于名称属性以将多个值存储在数组中,而不用于id属性。
将id="PMS[]"
替换为id="PMS"
与选择var keyword = $('#PMS').val();
ID应该是唯一的。 因此,即使有可能,我也不会对多个元素使用相同的ID。 但是,如果您做不到。 您可以执行以下类似操作以获取值。
$('#mybutton').click(function(){ let myId = 'PMS' let keyword = Array.from($(`[id="${myId}"]`), x => x.value) console.log(keyword) })
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <input type="text" name="PMS" id="PMS" value="one"> <input type="text" name="PMS" id="PMS" value="two"> <input type="text" name="PMS" id="PMS" value="three"> <input type="button" value="show vals" id="mybutton"></button>
感谢您的回答! 我尝试使用id = PMS,name = PMS []来处理一个表单字段。 但是,它似乎是传递给脚本的ID而不是名称,因为如果我将ID更改为PMS2,但我可以删除该名称,它仍然可以使用,但是它不起作用。 即使我能弄清楚如何将名称传递给脚本,但我认为将其以一种整洁的方式工作会很麻烦,所以我认为我将尝试下载一个自动完成的小部件,您可以在其中输入多个一个字段中的值。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.