Javascript 通过Ajax动态更新数据列表
我需要通过ajax更新HTML5数据列表。Javascript 通过Ajax动态更新数据列表,javascript,php,ajax,html,html-datalist,Javascript,Php,Ajax,Html,Html Datalist,我需要通过ajax更新HTML5数据列表。 Html代码在这里 <body> <input type="text" id="bar" list="fruit" onkeyup="jsfun()" /> <datalist id="fruit"></datalist> </body> 请参阅下面的url,首先写入mang,然后删除它并写入bann 它给出了一个建议 然后删除它,并知道writemango bann这一次它不能给
Html代码在这里
<body>
<input type="text" id="bar" list="fruit" onkeyup="jsfun()" />
<datalist id="fruit"></datalist>
</body>
请参阅下面的url,首先写入mang,然后删除它并写入bann它给出了一个建议
然后删除它,并知道writemango bann这一次它不能给出任何建议。为什么,但建议是在数据库中发送的。它只对第一个单词给出建议。
好的。。。问题就在这里。默认情况下,Datalist将文本框中的内容与允许的选项相匹配。这些选项通过AJAX进行了适当的更改。没有改变的是,“芒果班”并不等于“芒果”或“班” 作为一种解决方法,您可以使用AJAX函数在输入第二个单词后覆盖文本框。例如:
var skw1 = document.getElementById("searchBar").value;
var skw2 = skw1.split(" ");
var skw = skw2[skw2.length-1];
document.getElementById("searchBar").value = skw;
我不需要整件事。只需要最后一个字,就像谷歌对每个字的建议一样。这对我来说就像预期的一样。我输入“mango bann”,它会返回“bann”。是的,它会返回“bann”,但问题是它不能对此给出建议。如果你单独写“bann”,那么它会在Safari中给出建议,我不会得到任何建议。在我的文本“bann”上加上“bann”这个词。如果你想替换DDLB或其他东西,你真的必须替换整个东西。。。不能使用InnerHTML仅替换选项。
var skw1 = document.getElementById("searchBar").value;
var skw2 = skw1.split(" ");
var skw = skw2[skw2.length-1];
document.getElementById("searchBar").value = skw;