2017-09-04 234 views
0

我使用JavaScript应用程序并使用JSON列表填充下拉菜单。从菜单中选择下拉菜单

     $("#address").append($('<option></option>').attr("value", "1").text("")); 
         $.each(wallets, function (index, wallet) { 

          if (selectedCurrency === wallet["currency"].toString().trim()) { 
           $("#address").append($('<option></option>').attr("value", "1").text(wallet["address"])); 
          } 
         }) 

的UI看起来是这样的,

enter image description here

如果我(在图片等)选择空项目,我想在控制台打印empty。否则,我想打印地址值。我的意图是编写更多的代码,但是,这是我想开始的地方。我有的代码,

$("#address").change(function() { 

     if($(this).val()===""){ 
      console.log('empty'); 
     } 

     else{ 
      console.log($(this).val()); 
     } 
} 

但是,它只在控制台打印1,不能区分空白栏和所关心的地址。如果我使用console.log("The value is " + $(this).text());change函数内部,它打印每一个信息都聚集在控制台,

The value is mp51mPC38Wtcmybdyd9MPEB2bKnw6eYbCsmqXjM7Mmg6B5LWMad7mHJi339ddaj7xXdBmvXxP1GmXXKojWQJKjgeoASnXVNXCS47z6n41jE2BKKpV6LsPb7dDdStjtuJf1FrYvMMmw1jtrWU5DADxvNR421MKFW1fposgzVMBymnzcZVF4jtZtGAggM5GuLog3Y5o52Mx4xMmq5Rgggfgy2TiRsvtcGm3rxx12R8XbYi9omkdt7ouyJnDXUp4LzdRSRP3ZhU57gUDKy6n2F2QEKk6Fqqk2yMTope5MYp1RtpT949kemrkdfp6qoVN3YiyJhq6nXPvgr3f7YpkS9j

JSON数据我是一样的东西,

[ 
    { 
    "id": 1, 
    "code": "BTC", 
    "address": "mp51mPC38Wtcmybdyd9MPEB2bKnw6eYbCs", 
    "currency": "Bitcoin" 
    }, 
    { 
    "id": 2, 
    "code": "BTC", 
    "address": "mqXjM7Mmg6B5LWMad7mHJi339ddaj7xXdB", 
    "currency": "Bitcoin" 
    }, 
    { 
    "id": 4, 
    "code": "BTC", 
    "address": "mvXxP1GmXXKojWQJKjgeoASnXVNXCS47z6", 
    "currency": "Bitcoin" 
    } 

    // some more data 
] 

什么问题吗?我的猜测是我做错了将数据追加到下拉列表并需要更改。

如果需要,我可以提供更多信息....

+0

您设置的值'1'空文本'$( “#地址”)。追加($( '').attr( “价值”, “1” ).text(“”));'将此值更改为空。 –

+0

.text to .html()// $(“#address”)。append($('').val(wallet.id).html(wallet.address); – Bugfixer

回答

2

价值1只要改变以""在第一个选项。

$("#address").append($('<option></option>').attr("value", "").text("")); 

$.each(wallets, function (index, wallet) { 
    if (selectedCurrency === wallet["currency"].toString().trim()) { 
      $("#address").append($('<option></option>').attr("value", "1").text(wallet["address"])); 
     } 
}); 

检查此示例。

$("#address").append($('<option></option>').attr("value", "").text("")); 
 
$("#address").append($('<option></option>').attr("value", "1").text("123")); 
 
$("#address").append($('<option></option>').attr("value", "2").text("456")); 
 

 
    
 
$("#address").change(function() { 
 

 
     if($(this).val()===""){ 
 
      console.log('empty'); 
 
     } 
 

 
     else{ 
 
      console.log($(this).val()); 
 
     } 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<select id="address"> 
 
</select>