2016-04-28 96 views
0

所以我有這個JavaScript函數循環通過每個用戶帳戶,並顯示在下拉菜單中。當用戶從下拉菜單中選擇一個選項時,它將Iban編號作爲其主ID存儲在ddlAccountFrom中。有沒有辦法在用戶選擇一個選項時如何存儲兩個值,例如Iban和貨幣到單獨的變量中?如何在變量內存儲多個下拉值?

function getAccountFrom() { 
    var username = $("#hiddenUsername").val(); 

    var url = "http://localhost:63723/api/BankAccountsApi/GetBankAccounts/?username=" + username + "&id=2"; 
    $.getJSON(url, function (data) { 
      var table = "<select id=\"ddlAccountFrom\">"; 

      table += "<option value=\"-1\">Select an Account</option>"; 
      $.each(data, function (key, val) { 

       table += "<option value=\"" + val.Iban + "\">" + val.Iban + " | " + val.Currency + " | " + val.Balance + "</option>"; 

      }); 
      table += "</select>"; 
      $('#divAccountFrom').html(table); 
    }); 
} 

我在這個函數中使用ddlAccountFrom ..

function Transfer() { 
    var accountFrom = $("#ddlAccountFrom").val(); 
    var accountTo = $("#txtAccountTo").val(); 
    var amount = $("#txtAmount").val(); 


    var url = "http://localhost:63723/api/BankAccountsApi/TransferFunds/? 
    ibanFrom=" + accountFrom + "&ibanTo=" + accountTo + "&amount=" + amount; 

    $.getJSON(url, function (data) { 
     alert(data); 
    }) 

    .error (function() { 
     alert("Not enough balance! The amount entered exceed the balance found in this account. Please try again."); 
    }) 

} 
+0

那麼,你應該在用戶選擇一個選項時顯示你的代碼,但是通常你可以使用分隔符連接這些值並將其放入選項的'value'中。 –

回答

1

您可以使用該數據自定義屬性,像這樣:

table += "<option value=\"" + val.Iban + "\" data-currency=\"" + val.Currency + "\">" + val.Iban + " | " + val.Currency + " | " + val.Balance + "</option>"; 

要訪問的變量看jquery-cant-get-data-attribute-value 所以您可以閱讀:

var selectedCurrency= $("#ddlAccountFrom :selected").data('currency'); 
+0

數據貨幣是一個變量嗎? –

+0

是的,你可以通過jQuery(你的選擇器).data('currency')或jQuery(你的選擇器).attr('data-currency')讀取。 – lamp76

+0

像這樣--- var currency = $(「#ddlAccountFrom」)。data('currency'); - ?? –

0

您可以:

  1. 用分離器(用於前myIban#myCurrency)串接在1串的2個數據,然後分割你的價值來拿回你的2個不同的數據
  2. 聽你的下拉菜單的改變,例如加入onchange=updateData(val.Iban, val.Currency)屬性您選擇HTML,並在您的JS:

    var currentIban, currentCurrency; 
    
    function updateData(iban, currency) { 
        currentIban = iban; 
        currentCurrency = currency; 
    } 
    
  3. 添加一個數據自定義屬性,如數據貨幣或數據IBAN