如何与jQuery.val

时间:2018-05-04 11:53:16

标签: javascript php jquery html

我想在页面上有多个表单字段,并将结果放入一个数组中,然后将它们放到数据库中。我有那个,它有效。 然后我输入了一个自动完成功能,从数据库中获取建议。这也有效,但如果我尝试使用数组就不行。

<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);

    }
}); }

同样,这可能与我对编程的一些基本原理缺乏理解有关。非常感谢一些帮助!如果您需要更多代码,请告诉我。

3 个答案:

答案 0 :(得分:0)

@Swede

我们将使用[]作为名称属性,在数组中存储多个值,而不是 id 属性。

id="PMS[]"替换为id="PMS" 选择var keyword = $('#PMS').val();

也是如此

答案 1 :(得分:0)

Ids应该是唯一的。所以,如果可能的话,我不会对多个元素使用相同的Id。但如果你不能。你可以做下面的事情来获得价值。

&#13;
&#13;
$('#mybutton').click(function(){
    let myId = 'PMS'
    let keyword = Array.from($(`[id="${myId}"]`), x => x.value)
    console.log(keyword)
    })
&#13;
<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>
&#13;
&#13;
&#13;

答案 2 :(得分:0)

感谢您的回答!我尝试使用id = PMS,name = PMS [],它适用于一个表单字段。然而,它似乎是传递给脚本而不是名称的id,因为如果我将id更改为PMS2但它可以删除名称并且它仍然有效,则它不起作用。即使我可以弄清楚如何将名称传递给脚本,我认为让它以一种整洁的方式工作会太麻烦所以我想我会尝试下载一个自动完成小部件,你可以输入多个一个字段中的值。