簡體   English   中英

Xpages - 從陣列中刪除所選項目

[英]Xpages - Remove selected items from an array

有誰知道如何從數組中刪除所選項?

var view:NotesView = getComponent("viewPanel2");
var UtbildningarArray = new Array();
viewScope.col = view.getSelectedIds();
if (viewScope.col.length > 0){
for (i=0; i<viewScope.col.length; i++){
    var docid = viewScope.col[i];
        if (docid != null) {
            var doc = database.getDocumentByID(docid);
            UtbildningarArray.push(doc.getItemValueString("Namn"))
        }
    }
}
document1.removeItemValue("Utbildningar",UtbildningarArray);
document1.save();

我試過,removeEntry和splice,但我沒有得到它的工作。

謝謝,喬納斯

編輯:

你是對的,在代碼中添加了這個:

var view:NotesView = getComponent("viewPanel2");
var UtbildningarArray = new Array();
var UtbildningarArray = new Array();
var FieldUtbArray = new Array(getComponent('inputHidden1').getValue());

viewScope.col = view.getSelectedIds();
if (viewScope.col.length > 0){
    for (i=0; i<viewScope.col.length; i++){
        var docid = viewScope.col[i];
            if (docid != null) {
                var doc = database.getDocumentByID(docid);
                UtbildningarArray.push(doc.getItemValueString("Namn"))
            }
        }
    }

document1.replaceItemValue("Utbildningar",FieldUtbArray.slice(UtbildningarArray));
document1.save();

我正在保存用戶在隱藏輸入中選擇的內容,當用戶單擊“刪除程序”按鈕時,我會在視圖中顯示所選的課程。 然后,用戶應該能夠單擊復選框並刪除所選課程。 現在,當我保存沒有任何反應。

我認為您需要顯示更多要刪除的內容。

下面你必須編碼將從js數組中刪除一個條目的代碼片段。

http://openntf.org/XSnippets.nsf/snippet.xsp?id=remove-an-entry-from-an-array-of-strings

http://dontpanic82.blogspot.se/2010/10/code-snippet-arraysplice-according-to.html

我搞定了!

for (var i = 0; i < FieldUtbArray.length; i++) {
    found = false;
    // find a[i] in b
    for (var j = 0; j < UtbildningarArray.length; j++) {
        if (FieldUtbArray[i] == UtbildningarArray[j]) {
            found = true;
            break;
        }
    }
    if (!found) {
        result.push(FieldUtbArray[i]);
    }
}

暫無
暫無

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

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