2015-02-06 47 views
0

有沒有辦法從同一頁面的文本框中將項目添加到組合框?另外如何將該項目添加到同一頁面上的多個組合框?這是一個acrobat pdf格式。任何例子將不勝感激。使用用戶輸入填充組合框

+0

這真的取決於你如何實現組合框。將文本輸入連接到按鈕或任何你喜歡的元素。在其點擊功能中,只需將文本添加爲​​新選項,即li或您用於組合框選項的任何元素。 – Phatjam98 2015-02-06 19:23:00

回答

0

這是可能的。

最好的辦法是獲取Acrobat JavaScript文檔,該文檔是Acrobat SDK的一部分,可從Adobe網站下載。特別感興趣的是setItems()和getItems()及其引用的Field對象方法的條目。

由於添加項目的實施,你會先看當前的項目,然後添加新的項目,然後將其寫回(在例子中,我們假設有沒有具體的返回值):

var f = this.getField("myComboBox") ; 
var fitms = new Array() ; 

for (var fi = 0 ; fi < f.numItems ; fi++) { 
fitms[fi] = f.getItemAt(fi, false) ; 
} 

if (this.getField("myAddingValue").valueAsString.length > 0) { 
fitms[fitms.length] = this.getField("myAddingValue").valueAsString ; 
} 

f.setItems(fitms) ; 

將此代碼添加到按鈕以在該字段中添加項目myAddingValue,就是這樣。上述文檔中有代碼示例。

您可以創建一個文檔級函數,該函數將組合框字段和插件值字段作爲參數。

+0

工作良好,但有一個問題。我將如何使這個工作多個組合框。假設我有5個組合框,分別命名爲place1,place2,place3,place4,place5 – 2015-02-09 07:16:47

+0

如果所有的組合框應該同步,則可以對每個框使用setItems()命令,而不是爲這些框定義變量f (後續)字段,請使用this.getField(「place1」)。setItems(fitms);直接訪問它們。等等。 – 2015-02-09 19:51:00

-1

您可以使用jQuery來做到這一點..認爲這是HTML

<text id="mytext"> 
<button id="btnAdd" type="button">Add</button> 
<select class="awesomecombo" id="combo_one"></select> 
<select class="awesomecombo" id="combo_two"></select> 

JavaScript是

$("#btnAdd").click(function(){ 
    $(".awesomecombo").append("<option>"+$("#mytext").val()+"</option>"); 
}); 

這將解決你的目的。

更新:爲多個組合框選擇添加類,<option>追加。

+0

這是一個非常糟糕的例子。追加不會僅僅追加文本,但需要爲也要避免ID作爲此活動的主要目標。如果你有多個你需要追加到,使用一個類,然後你可以一次插入。 – Phatjam98 2015-02-06 19:26:06

+0

同意你,我完全忘了加''..並沒有考慮'class' for multiple combobox。更新答案。 – 2015-02-06 19:27:49

+0

酷,你有正確的概念,但基於這個問題,它可能是最好給一個功能的例子。 – Phatjam98 2015-02-06 19:28:44