我从json获取了一些我的html元素的值。 最初我的图像块将被隐藏,我想让它只在输入名称时显示/显示。 我试过$(“#imgblock”)。show();但它不起作用。 我的代码如下。
<script type="text/javascript>
function loadmemberg(m)
{
$.ajax({
type : "POST",
url : "details.php",
data : {gvalue:m},
success: function(data){
var obj = $.parseJSON(data);
$('#name').val(obj[0].FullName);
$('#place').val(obj[0].PlaceName);
$("#image").attr("src", obj[0].ImageFileName);
var obj="";
},
error: function(data){
alert("Please Enter a valid details");
}
});
}
</script>
<html>
<div><input type="text" id="name"/></div>
<div><input type="text" id="place"/></div>
<div style="display:none" id="imgblock"><img src="" id="image"></div>
</html>
答案 0 :(得分:2)
错误似乎与ImageFileName有关,因为您的功能是正确的。但是,在我的实施中......我使用$("#image").parent().css("display","block");
在此代码示例中,我使用了模拟数据,并且我必须处理ajax错误处理程序中的功能,因为Allow-Cross-Origin将为null。
//var url = "details.php";
url = "http://www.stackoverflow.com";
function loadmemberg(m)
{
$.ajax({
type : "POST",
url : url,
data : {gvalue:m},
success: function(data){
//var obj = $.parseJSON(data);
var obj = [{"FullName": "Jason Borne", "PlaceName":"Paris, France", "ImageFileName" : "http://www.nysun.com/pics/939.jpg"}]
$('#name').val(obj[0].FullName);
$('#place').val(obj[0].PlaceName);
$("#image").attr("src", obj[0].ImageFileName);
var imgWrapper = $("#image").parent();
imgWrapper.css("display","block");
},
error: function(data){
// alert("Please Enter a valid details"); suppressing error for this test
var obj = [{"FullName": "Jason Borne", "PlaceName":"Paris, France", "ImageFileName" : "http://www.nysun.com/pics/939.jpg"}]
$('#name').val(obj[0].FullName);
$('#place').val(obj[0].PlaceName);
$("#image").attr("src", obj[0].ImageFileName);
var imgWrapper = $("#image").parent();
imgWrapper.css("display","block");
}
});
}
loadmemberg(0);
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div><input type="text" id="name"/></div>
<div><input type="text" id="place"/></div>
<div style="display:none"><img src="" id="image"></div>
&#13;
答案 1 :(得分:0)
我解决了。我放置了$(&#34;#imgblock&#34;)。show();成功之后:function(data){ 它对我有用