jQuery仅附加非空

时间:2015-11-23 08:10:08

标签: javascript jquery

我正在尝试追加那些非空的选项,但我会附加两个选项,为什么?

jQuery的:

   success: function (data) {
    var obj = JSON.parse(data);
    $.each(obj, function (booking_price, value) {

        if (value.AIRBNB_CONF.length > 0 ) {
            $('.searchable').append("<option value=\"" + value.AIRBNB_CONF + "\">" + value.AIRBNB_CONF + "</option>");
        }
        if (value.DBASE_ID.length > 0 ) {
            $('.searchable').append("<option value=\"" + value.DBASE_ID + "\">" + value.DBASE_ID + "</option>");
        }
    });
},

我正在尝试追加value.AIRBNB_CONFvalue.DBASE_ID,但两者都会被追加。它应该像DBASE_ID 1234包含AIRBNB_CONF附加AIRBNB_CONF,否则DBASE_ID ...

1 个答案:

答案 0 :(得分:1)

你需要在第二种情况下使用else if,否则如果

则总是经过第二种情况
success: function(data) {
  var obj = JSON.parse(data);
  $.each(obj, function(booking_price, value) {

    if (value.AIRBNB_CONF.length > 0) {
      $('.searchable').append("<option value=\"" + value.AIRBNB_CONF + "\">" + value.AIRBNB_CONF + "</option>");
    }
    else if (value.DBASE_ID.length > 0) {
      $('.searchable').append("<option value=\"" + value.DBASE_ID + "\">" + value.DBASE_ID + "</option>");
    }
  });
}

为了更好地理解if...else,请阅读 if...else here

的文档