Javascript XPages:如何禁用重复控件中的按钮

Javascript XPages:如何禁用重复控件中的按钮,javascript,xpages,Javascript,Xpages,我在XPage中使用了一个repeat控件,其中包含一些重复的按钮 我怎样才能掌握单个按钮或在单击某个特定按钮后使其淡出? 我在客户端的onClick上尝试了下面的代码,但没有成功 var id = dojo.query("[id='ActionBtn']")[0]; id.setDisabled(true); 使用#{id:ActionBtn}获取客户端id,并使用它获取按钮元素以禁用它: document.getElementById("#{id:ActionBtn}").disabled

我在XPage中使用了一个repeat控件,其中包含一些重复的按钮

我怎样才能掌握单个按钮或在单击某个特定按钮后使其淡出? 我在客户端的onClick上尝试了下面的代码,但没有成功

var id = dojo.query("[id='ActionBtn']")[0];
id.setDisabled(true);

使用
#{id:ActionBtn}
获取客户端id,并使用它获取按钮元素以禁用它:

document.getElementById("#{id:ActionBtn}").disabled=true
或在单击后将其隐藏

document.getElementById("#{id:ActionBtn}").style.visibility='hidden'

例如:

<xp:repeat
    id="repeat1"
    rows="30">
    <xp:this.value><![CDATA[#{javascript:[1,2,3,4]}]]></xp:this.value>
    <xp:button
        value="Label"
        id="ActionBtn">
        <xp:eventHandler
            event="onclick"
            submit="false">
            <xp:this.script><![CDATA[
                  document.getElementById("#{id:ActionBtn}").style.display='none'
            ]]></xp:this.script>
        </xp:eventHandler>
    </xp:button>
    <br />
</xp:repeat>



在客户端事件中,您可以使用全局对象thisEvent获取事件信息

您可以使用thisEvent.srcement获取触发事件的dom元素。 所以我想你可以这样做:

thisEvent.srcElement.style.display = 'none';
//...

同样,通过这种方式,您可以避免在dom树中进行搜索。

但是我喜欢禁用按钮中的一个,而不是全部,我如何获取ActionBtn[0]的索引,因为按钮位于重复控件中,每个按钮都有自己的id。您可以使用
{id:ActionBtn}
获取id。我添加了我的测试示例:只有单击的按钮消失。再见,先生,根据我的上述问题,重复代码中我的按钮的lebel是打开的,正在运行,和完成我想当用户点击运行时,打开和运行按钮都将被禁用,当点击完成时,3按钮将被禁用,但不确定如何执行此操作,我在禁用选项中使用以下代码,但未按预期工作
var value=[“打开”、“运行”、“完成”]var status=document1.getItemValueString(“状态”)if(value==status){return true}else{return false}
thisEvent.srcElement.style.display = 'none';
//...