Hi,
 
getSelectedIds only works on a view panel, not in a repeat control. In a repeat control you can bind a checkboxes to a viewScope variable.
The trick to it is that you first fill the viewScope variable with a blank array with the same number of items than the repeat control. You then bind a checkbox to an indexed item of that array.
 
Copy the following code to a new blank XPage to see a sample:
<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core">
    
    <xp:this.afterPageLoad><![CDATA[#{javascript:var numEntries = getComponent("repeat1").getRowCount();
viewScope.put("selectedIds", new Array(numEntries) );}]]></xp:this.afterPageLoad>
    <xp:repeat id="repeat1" rows="30" var="dataItem"
        indexVar="dataIndex">
        <xp:this.value><![CDATA[#{javascript:[
 {name: "item 1", id: "id1"},
 {name: "item 2", id: "id2"},
 {name: "item 3", id: "id3"},
 {name: "item 4", id: "id4"}
]}]]></xp:this.value>
        <xp:checkBox id="checkBox1"
            checkedValue="#{javascript:dataItem.id}" uncheckedValue="">
            <xp:this.value><![CDATA[#{viewScope.selectedIds[dataIndex]}]]></xp:this.value>
        </xp:checkBox>
        <xp:text escape="true" id="cfName"
            value="#{javascript:dataItem.name}">
        </xp:text>
        <xp:br></xp:br>
    </xp:repeat>
    <xp:br></xp:br>
    <xp:button value="Show selected" id="button1">
        <xp:eventHandler event="onclick" submit="true"
            refreshMode="partial" refreshId="cfSelectedIds">
        </xp:eventHandler></xp:button>
    <xp:br></xp:br>
    <xp:br></xp:br>You've selected: 
    <xp:text escape="true" id="cfSelectedIds"
        value="#{javascript:@Trim(viewScope.selectedIds)}">
    </xp:text></xp:view>