Xpages - 从阵列中删除所选项目

时间:2014-03-24 12:35:09

标签: javascript arrays xpages

有谁知道如何从数组中删除所选项目?

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();

我试过,删除入口和拼接,但我不能让它工作。

谢谢, 纳斯

编辑:

你是对的,已经在代码中添加了这个:

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();

我保存用户在隐藏输入中选择的内容,以及当用户点击&#34;删除程序&#34;按钮我在视图中显示所选课程。然后,用户应该能够单击复选框并删除所选课程。现在当我保存没有任何事情发生时。

2 个答案:

答案 0 :(得分:1)

我认为您需要显示更多要删除的内容。

下面你必须编写将从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

答案 1 :(得分:1)

我明白了!

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]);
    }
}