Php 使用AJAX/JSON将值传递给文本框
我有以下脚本,希望使用AJAX向文本框传递一个值Php 使用AJAX/JSON将值传递给文本框,php,html,json,ajax,Php,Html,Json,Ajax,我有以下脚本,希望使用AJAX向文本框传递一个值 <script> $(document).ready(function(){ $("#searchName").change(function(){ var name = $("#searchName").val(); $.ajax({ 'url': 'ontwikkelpunten.php', 'method': 'post', 'd
<script>
$(document).ready(function(){
$("#searchName").change(function(){
var name = $("#searchName").val();
$.ajax({
'url': 'ontwikkelpunten.php',
'method': 'post',
'data':
{
naam: $("#searchName").val()
},
'dataType': 'json'
}).done(function(data){
console.log(data);
$('#test').val(data.naam);
});
});
});
$(文档).ready(函数(){
$(“#searchName”).change(函数(){
var name=$(“#searchName”).val();
$.ajax({
'url':'ontwikkelpunten.php',
'method':'post',
“数据”:
{
naam:$(“#搜索名称”).val()
},
“数据类型”:“json”
}).完成(功能(数据){
控制台日志(数据);
$('#test').val(data.naam);
});
});
});
当我更改searchName并在Chrome中检查控制台时,我看到了阵列,但它仍然不工作
您的JSON返回是一个对象数组(在您的例子中,是一个包含对象的数组元素)。因此,当您尝试分配时:
$('#test').val( data.naam );
// ^--- direct object item reference
这找不到要使用的正确元素,因为基本数组中不存在naam。相反,您需要将其调整为首先引用数组元素,然后引用对象元素:
$('#test').val( data[0].naam );
// ^--- first array element
length:0
无论您做什么,都无法在dom上找到该输入。我们在这里看不到整个视图。@nerdlyist您的console.log($(“test”)中有一个输入错误代码>。。。忘记了#
;)@马文变化$('#test').val(data.naam)
到$('#test').val(数据[0].naam)代码>。。。我认为您的对象位于1元素数组包装器中。也许吧。@Marvin请在console.log($(“#测试”))上运行它
或忘记了#
的1您真的应该提出一个新问题。转移和改变主题被认为是偏离了stackoverflow的主题。但您只需将道具包装在if
语句中<代码>如果(数据[0].aanvang){$(“#aanvang”).prop(“选中”,true);}其他{$(“#aanvang”).prop(“选中”,false);}
$('#test').val( data[0].naam );
// ^--- first array element