私がやりたいことは次のとおりです。ユーザーがデータベースにクレジットカード番号を1つしか持っていない場合、テキストフィールドをページに表示しますが、ユーザーの複数のクレジットカード番号がデータベースに保存されている場合、テキストフィールドを表示する代わりにすべてを表示したいクレジット カード番号をコンボ ボックスに入力します。
以下は、私が得ている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 コードが含まれています)
jqueryeach
ループを使ってみましたが、できました。
以下は私のコードです:
$.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']);
}
}
});
助けが必要。
前もって感謝します。