以下は私のjson
応答です:
{"fname":"abc","lname":"xyz","email":"test@user.com","description":[{"city":"abcxyz","address":"AX","country":"US","date":"2020-02-01"},{"city":"abcxyz","address":"AX","country":"US","date":"2020-02 01"}], "city":"abcxyz","address":"DS","country":"US","Month":"12","Year":"2012"}
そして、以下は私のコードです:
success: function(data)
{
var userinfo=eval(data);
alert(userinfo['fname1']; //display correct result
alert(userinfo['description']['city']; //display undefined
if(!$("#fname1").val()) $("#fname1").val(userinfo['fname']);
if(!$("#lname1").val()) $("#lname1").val(userinfo['lname']);
}
成功関数では、警告しようとするとalert(userinfo['fname1']
正しい結果が表示されます。つまり、名前が表示されますが、警告しようとすると警告が表示alert(userinfo['description']['city']
さundefined
れます。
次に、each
ループを使用してみましたが、まだ機能していません
$.each(userinfo['description'], function() {
alert(userinfo'description']['city']; //not working
$("#city option[value="+userinfo['description']['city']+"]").attr("selected", "selected");
});
以下は私のhtmlです:
<select name="country" id="country">
<?php
foreach ($this->description as $country) {
?>
<option value="<?php echo $country['country']; ?>" <?php echo ($this->params['country'] == $country['country']) ? "selected='selected'" : ""; ?>><?php echo $country['country']; ?></option>
<?php }
?>
</select>
誰が私が間違っているのか教えてもらえますか。ありがとう。