簡體   English   中英

僅在數組中不存在項目時附加

[英]Append only if item doesn't exists in array

我有3個選擇框,一個用於國家,另一個用於城市,另一個用於圍繞城市的半徑。

我希望用戶選擇的任何內容都出現在div中,然后再將所有數據發送並保存到db中。

我正在嘗試使此工作正常進行,但是我不知道為什么會有奇怪的結果。 它什么也不做!但是,如果我刪除了“!”,它就可以用於第一個,但是隨后我又得到了重復。 我不明白我在做什么錯。 這是代碼:

var citySet = new Array;
function appendCity(){                  

    if(!$.inArray($("#businessCityTarget option:selected").text(),citySet)){                            

        $("#cityContainer").append($("#businessCityTarget option:selected").text() + "<br>"); 
        citySet.push($("#businessCityTarget option:selected").text());  

    }

}

任何散落的光都會滿足

嘗試:

if(citySet.indexOf($("#businessCityTarget option:selected").text()) < 0){
    $("#cityContainer").append($("#businessCityTarget option:selected").text() + "<br>"); 
    citySet.push($("#businessCityTarget option:selected").text());
}

你可以嘗試一下:

var citySet = new Array;
function appendCity(){                  

        if($.inArray($("#businessCityTarget option:selected").text(),citySet)===-1){                            

            $("#cityContainer").append($("#businessCityTarget option:selected").text() + "<br>"); 
            citySet.push($("#businessCityTarget option:selected").text());  

        }

    }

希望這可以幫助..

您應該檢查=== -1< 0

var citySet = new Array;

function appendCity() {
    if ($.inArray($("#businessCityTarget option:selected").text(), citySet) === -1) {
        $("#cityContainer").append($("#businessCityTarget option:selected").text() + "<br>");
        citySet.push($("#businessCityTarget option:selected").text());
    }
}

來自文檔

$ .inArray()方法類似於JavaScript的本機.indexOf()方法,因為它找不到匹配項時返回-1。 如果數組中的第一個元素與value匹配,則$ .inArray()返回0。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM