无法获取使用jQuery AJAX从PHP-MYSQL生成的数据的值
标题并不能说明这个问题。以下是我正在努力实现的目标。我使用jQuery将AJAX请求从HTML表单发送到一个php文件,该文件成功地将所需数据发送回AJAX。我也能看到这个值。这里是我的问题:当我试图使用单个元素的属性获取其值时,我无法获取它。当您看到我的jQuery代码时,这将更加清楚无法获取使用jQuery AJAX从PHP-MYSQL生成的数据的值,php,jquery,mysql,ajax,Php,Jquery,Mysql,Ajax,标题并不能说明这个问题。以下是我正在努力实现的目标。我使用jQuery将AJAX请求从HTML表单发送到一个php文件,该文件成功地将所需数据发送回AJAX。我也能看到这个值。这里是我的问题:当我试图使用单个元素的属性获取其值时,我无法获取它。当您看到我的jQuery代码时,这将更加清楚 var temp_client_name; $("#temp_client_name").on('click', 'li', function(){ temp_client_id = $(this).a
var temp_client_name;
$("#temp_client_name").on('click', 'li', function(){
temp_client_id = $(this).attr('id');
//temp_client_name = $("#"+temp_client_id).html();
temp_client_name = $("li[id='+temp_client_id+']").html();
$("#client_name").val(temp_client_name);
console.log('temp_client_name ' + temp_client_name);
});
现在,问题出在第5行(第4行的替代方案,其工作方式与我假设的相同,因此我对该行进行了注释,因为它是实现相同目标的一个很好的替代方案)。
在第3行中,我得到了我感兴趣的HTML元素的ID,它是li标记的一个属性。这也很好,我得到了所需元素的ID。那么,我错在哪里呢?您必须在+
之前和之后添加“
:
temp_client_name = $("li[id='"+temp_client_id+"']").val();
但为什么不使用:
temp_client_name = $(this).val();
而不是:
temp_client_id = $(this).attr('id');
//temp_client_name = $("#"+temp_client_id).val();
temp_client_name = $("li[id='"+temp_client_id+"']").val();
您必须在中的+
之前和之后添加“
:
temp_client_name = $("li[id='"+temp_client_id+"']").val();
但为什么不使用:
temp_client_name = $(this).val();
而不是:
temp_client_id = $(this).attr('id');
//temp_client_name = $("#"+temp_client_id).val();
temp_client_name = $("li[id='"+temp_client_id+"']").val();
线
表示获取id为+temp\u client\u id+
的li
的val。
如果要使用temp\u client\u id
变量:
temp_client_name = $("li[id='" + temp_client_id + "']").val();
但我不明白为什么要这样做,因为通过id
访问元素就像
value = $( "#id" ).val();
线
表示获取id为+temp\u client\u id+
的li
的val。
如果要使用temp\u client\u id
变量:
temp_client_name = $("li[id='" + temp_client_id + "']").val();
但我不明白为什么要这样做,因为通过id
访问元素就像
value = $( "#id" ).val();
您的代码中有一些错误
不包含value属性(因此val()在这里不可用)temp_client_name=$([li[id='+temp_client_id+')).val()
根本不起作用,因为您的串联错误;它必须看起来像$('li[id='+您的_变量_here+']')。val()代码>
var临时客户名称;
$(文档)。在('click','li',函数()上{
temp_client_id=$(this.attr('data-id');
temp_client_name=$('#'+temp_client_id).val();
警报(“临时客户名称”+临时客户名称);
});代码>
您的代码中有一些错误
不包含value属性(因此val()在这里不可用)temp_client_name=$([li[id='+temp_client_id+')).val()
根本不起作用,因为您的串联错误;它必须看起来像$('li[id='+您的_变量_here+']')。val()代码>
var临时客户名称;
$(文档)。在('click','li',函数()上{
temp_client_id=$(this.attr('data-id');
temp_client_name=$('#'+temp_client_id).val();
警报(“临时客户名称”+临时客户名称);
});代码>
效果很好。我不能投票支持这个答案,因为我没有特权。您还可以建议为什么temp_client_name=$(“#”+temp_client_id).val();不起作用了吗?很好。我不能投票支持这个答案,因为我没有特权。您还可以建议为什么temp_client_name=$(“#”+temp_client_id).val();没用了?谢谢!但为什么这条线不起作用?temp_client_name=$(“#”+temp_client_id).val();当您尝试
temp\u client\u name=$(“#”+temp\u client\u id).val()时,console.log(temp\u client\u name)
显示了什么代码>?您页面上的ID是唯一的吗?谢谢!但为什么这条线不起作用?temp_client_name=$(“#”+temp_client_id).val();当您尝试temp\u client\u name=$(“#”+temp\u client\u id).val()时,console.log(temp\u client\u name)
显示了什么代码>?你页面上的ID是唯一的吗?那是我的错!对不起,我把它改成了.html(),这是我的错!对不起,我把它改成了.html()