簡體   English   中英

在Javascript中,當使用array.push方法將項目添加到列表時,如何進行排序?

[英]In Javascript, when using an array.push method to add items to a list how do I get it to sort?

編輯:這是用於PDF腳本。 我使用Acrobat Pro,但最近使用Foxit是因為它比Acrobat快得多。

以下是我必須在標題為TalentList的下拉列表中添加項目的確切腳本。 以下是標題為“添加新人才”的按鈕中的腳本

aray=[this.getField("TalentName").value];{aray.push(this.getField("TalentCost").value)} 
var x = aray[0] + "," + aray[1];
this.getField("TalentList").insertItemAt(this.getField("TalentNa
me").value,x) 
{this.getField("TalentName").value="";}
{this.getField("TalentCost").value="";}
{this.getField("TalentName1").value=" ";}

我在其中擁有TalentNameTalentCost字段,並在其中輸入值,然后單擊按鈕以將其添加到下拉TalentList 該腳本可以正常工作。 但是,我遇到的問題是,每次添加新項目時,它都會將其添加到列表的頂部,並且在我希望對其進行排序時不對其進行排序。 是否可以在按鈕中添加到上述腳本中,以使每次自動發生?

請注意,我在TalentList下拉列表的屬性中選中了“排序項目”框。

我相信我會使用insertItemAt (如別人所說),但是我不知道要使用的方法或正確的參數。

我認為您正在尋找對PDF表單中的列表框進行排序的方法? 如果是這樣,您可以這樣做:

aray=[this.getField("TalentName").value]; 
aray.push(this.getField("TalentCost").value);
var x = aray[0] + "," + aray[1]; 

this.getField("TalentList").insertItemAt(this.getField("TalentName").value,x);  
this.getField("TalentName").value=""; 
this.getField("TalentCost").value=""; 


count = this.getField("TalentList").numItems;

var l = this.getField("TalentList")

for (numsorted = 0; numsorted < count; numsorted ++){
    max = l.getItemAt(numsorted, false)
    maxindex = numsorted;
    for (i=numsorted; i<count; i++){
        item = l.getItemAt(i, false);
        if (item > max) {
            max = item;
            maxindex = i;
        }
    }
    item = l.getItemAt(maxindex, false);
    l.deleteItemAt(maxindex);
    l.insertItemAt(item, numsorted);
}

暫無
暫無

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

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