我想要做的是:如果用戶在數據庫中只有一個信用卡號碼,那麼將文本字段顯示到我成功完成的頁面上,但如果用戶的多個信用卡號碼已存儲在我的數據庫中,顯示文本字段我想顯示他的所有信用卡號碼到組合框中。在jquery中動態生成combox box
以下是Ajax響應我得到:
{
"fname": "abc",
"lname": "xyz",
"creditCardInfo": [
{
"creditCardNumber": "378282246310005",
"creditCardType": "AX",
"securityCode": "1234",
"expirationDate": "2020-02-01"
},
{
"creditCardNumber": "6011000990139424",
"creditCardType": "DS",
"securityCode": "321",
"expirationDate": "2030-12-01"
}
],
"creditCardNumber": "6011000990139424",
"creditCardType": "DS",
"creditCardCVC": "321",
"creditCardExpirationMonth": "12",
"creditCardExpirationYear": "2030"
}
(注:包含所有測試信用卡號碼和CVC代碼上面的響應)
我試圖使用jQuery each
循環,但能做到這一點。
以下是我的代碼:
$.ajax({
type: "POST",
url: "<?php echo $_SERVER['HOST']; ?>"+action,
dataType: 'json',
data: formdata,
success: function(data)
{
var userinfo = eval(data);
alert(userinfo);
if(userinfo['msg'] == 'fail'){
$(".usrmsg").show();
$(".validate").hide();
}
else{
if(!$("#fname1").val()) $("#fname1").val(userinfo['fname']);
if(!$("#lname1").val()) $("#lname1").val(userinfo['lname']);
if(!$("#billingCity").val()) $("#billingCity").val(userinfo['billingCity']);
if(userinfo['creditCardInfo']){
$('#creditCardComboBox').show();
$('#creditCardTextField').show();
// $(userinfo['creditCardInfo']).each(function(index) {
// alert(index + ': ' + $(this).text());
// $("#creditCardNumber option[value="+index['creditCardNumber']+"]").attr("selected", "selected");
// });
$("#creditCardType option[value="+userinfo['creditCardInfo']['creditCardType']+"]").attr("selected", "selected");
$("#creditCardExpirationMonth option[value="+userinfo['creditCardInfo']['creditCardExpirationMonth']+"]").attr("selected", "selected");
$("#creditCardExpirationYear option[value="+userinfo['creditCardInfo']['creditCardExpirationYear']+"]").attr("selected", "selected");
}
if(!$("#billingFirstName").val()) $("#billingFirstName").val(userinfo['fname']);
if(!$("#billingLastName").val()) $("#billingLastName").val(userinfo['lname']);
if(!$("#creditCardCVC").val()) $("#creditCardCVC").val(userinfo['creditCardCVC']);
}
}
});
需要幫助。
在此先感謝。
你從服務器得到的json響應不是一個有效的json,或者必須有一個錯字。在http://jsonlint.com/ –
查看你的回覆@lalith:但是我使用'eval'函數將它轉換成數組:'var userinfo = eval(data);' – Sky
@lalith:用jsonlin.com檢查並顯示有效的json格式 – Sky