将 json 数组更新为 data-autocomplete 后,它不会更新 data-autocomplete 的值
Posted
技术标签:
【中文标题】将 json 数组更新为 data-autocomplete 后,它不会更新 data-autocomplete 的值【英文标题】:after updating json array to data-autocomplete it is not updating the value of data-autocomplete 【发布时间】:2018-10-26 12:36:20 【问题描述】:我正在为一家医院创建一个动态表单。在这里,我遇到了数据自动完成的问题。问题是在将 json 数组更新为 data-autocomplete=' ' 后,它没有更新 data-autocomplete=' ' 的值。 因为我在前端表单中使用 html(bootstrap) 和 php Templete,所以所有链接都已正确排列,并且一个与此类似的输入元素工作正常,但我已经使用 php 更新了该输入的值。
HTML代码
<input type='text' class="form-control ui-autocomplete-input" data-autocomplete='' autocomplete="off" id="patient_type_desc" name="patient_type_desc" class="form-control" />
JQuery 代码
$.post(url, "referral":referral, function(data)
//console.log(data);
$('#patient_type_desc').attr('data-autocomplete', data);
);
此代码正在更新值,但在表单中自动完成未填充建议。
数据变量如下所示
["name1","name2"]
我也尝试了这个 jQuery 代码,但没有用 - 这个代码根本不起作用
$( "#patient_type_desc" ).autocomplete(
source: data
);
【问题讨论】:
可能是类型。我认为 data 是一个数组, .attr 可能只能接受字符串。否则我看不到任何错误。 您好 Fliink 感谢您回答我的问题。 Jquery 代码正在使用数组,它正在更新为 data-autocomplete=' ' 但在形式上它没有起作用。这是我的问题。对不起,如果我说了什么不妥。 【参考方案1】:请检查下面的代码,在这里也可以找到小提琴Fiddle .希望这对您有所帮助。
<div class="form-group ui-widget">
<label for="plugins">Patient Type desc</label>
<input type='text' class="form-control ui-autocomplete-input" data-autocomplete='' autocomplete="off" id="patient_type_desc" name="patient_type_desc" class="form-control" />
</div>
<script>
$(function()
var patient_type_desc = [
"name1",
"name2",
"name3",
"name4"
];
$("#patient_type_desc").autocomplete(source: patient_type_desc);
$("ul.ui-autocomplete").css("left","450px");
);
</script>
<style>
ul.ui-autocomplete padding-left: 0; list-style-type: none; border: black 1px solid; display: inline-block;
ul.ui-autocomplete li:hover background-color: gray;
ui-helper-hidden-accessible display: none;
</style>
【讨论】:
使用 - $("#plugins").autocomplete(source: plugin_names);这种方式根本行不通,兄弟 @Rajasekhar 你检查过上面提到的小提琴吗?它在那里工作。您使用的是哪个版本的 jquery? @Rajasekhar 我已经更新了代码并摆弄了您在问题中提到的控件名称。这样可以吗? 谢谢兄弟终于这个方法奏效了。我正在尝试使用 azax 我忘记将变量设为 Json Object。【参考方案2】:我的 Jquery 现在是这样的
$.post(url, "referral":referral, function(data)
//console.log(data);
$( "#patient_type_desc" ).autocomplete(
source: data
);
//$('#patient_type_desc').attr('data-autocomplete', data);
, "json");
最后通过添加“json”来工作。谢谢所有兄弟的。
【讨论】:
通过查看您的 jsFiddle 并将其添加到 azax 代码 ` "json" ` 根据提琴手你改变了你的rest api返回的json对象的格式,对吧?干得好。以上是关于将 json 数组更新为 data-autocomplete 后,它不会更新 data-autocomplete 的值的主要内容,如果未能解决你的问题,请参考以下文章
PHP/MariaDB 使用嵌套 JSON 数组进行重复键更新
如何将存储在列中的 JSON 数组中的每个元素的行拆分为一行?