从菜单中下拉空选择

时间:2017-09-04 06:51:55

标签: javascript jquery json ajax

我使用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 
]

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

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

1 个答案:

答案 0 :(得分: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>