[英]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=" ";}
我在其中擁有TalentName
和TalentCost
字段,並在其中輸入值,然后單擊按鈕以將其添加到下拉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.