Xpages 如何在CSJS中获取重复控制索引
我在网上搜索了一下,找到了这个 但是…这对我不起作用 这是我的代码(部分)Xpages 如何在CSJS中获取重复控制索引,xpages,repeat,indexof,Xpages,Repeat,Indexof,我在网上搜索了一下,找到了这个 但是…这对我不起作用 这是我的代码(部分) 我想做的是,一旦用户单击输入字段,我就可以得到他编辑的行,我像LeaveBean一样使用ssjs。dosomething(detailIndex)好吧,但是如何在csjs中获得的索引呢 Marky Roden(对我来说是个了不起的人XD)建议使用attr来获得它…但是…我是xpages的新手,所以不知道如何在我自己的代码中添加它,我的意思是,我尝试添加 <xp:this.attrs> <x
我想做的是,一旦用户单击输入字段,我就可以得到他编辑的行,我像LeaveBean一样使用ssjs。dosomething(detailIndex)好吧,但是如何在csjs中获得的索引呢
Marky Roden(对我来说是个了不起的人XD)建议使用attr来获得它…但是…我是xpages的新手,所以不知道如何在我自己的代码中添加它,我的意思是,我尝试添加
<xp:this.attrs>
<xp:attr name="seanIndex"
value="???">
</xp:attr>
</xp:this.attrs>
但是该值不能像#{detailIndex},否则,页面将崩溃…所以我现在可以做什么…将隐藏的文本字段添加到repeat控件中,并将索引作为值
然后,您可以使用
var index=document.getElementById(“#{id:detailindextextext}”).innerHTML
更新
不需要隐藏字段的较短版本只是:
var-index=#{javascript:detailIndex};
在repeat控件中添加一个隐藏的文本字段,并将索引作为值
然后,您可以使用
var index=document.getElementById(“#{id:detailindextextext}”).innerHTML
更新
不需要隐藏字段的较短版本只是:
var-index=#{javascript:detailIndex};
您可以通过以下方式直接在重复控件内的cjs中获取索引号:
<xp:repeat id="repeat1" rows="30" var="currentDetail" indexVar="detailIndex" value="#{LeaveBean.details}">
<xp:inputText id="leavefrom" value="#{currentDetail.subfromtime}">
<xp:eventHandler event="onblur" submit="false" refreshMode="partial" refreshId="repeat1">
<xp:this.script><![CDATA[
var index = "#{javascript: return detailIndex;}";
// do whatever with index...
]]></xp:this.script>
</xp:eventHandler>
</xp:inputText></xp:repeat>
表达式“#{javascript:return detailIndex}”在服务器端计算,呈现的cjs是迭代次数
通过这种方式,您可以避免在dom树中呈现隐藏输入和搜索以获取编号。您可以通过以下方式直接在重复控件内的cjs中获取索引编号:
<xp:repeat id="repeat1" rows="30" var="currentDetail" indexVar="detailIndex" value="#{LeaveBean.details}">
<xp:inputText id="leavefrom" value="#{currentDetail.subfromtime}">
<xp:eventHandler event="onblur" submit="false" refreshMode="partial" refreshId="repeat1">
<xp:this.script><![CDATA[
var index = "#{javascript: return detailIndex;}";
// do whatever with index...
]]></xp:this.script>
</xp:eventHandler>
</xp:inputText></xp:repeat>
表达式“#{javascript:return detailIndex}”在服务器端计算,呈现的cjs是迭代次数
通过这种方式,您可以避免在dom树中呈现隐藏的输入和搜索以获取编号。…谢谢KNUT…这对我很有效,那么我就知道为什么没有人问这样的问题了….==我能再问一个问题吗?我只是觉得很奇怪,当我第一次点击这个字段的时候,我不能先得到内容,我必须点击两次才能得到内容,比如,我先在字段中输入“1”,当焦点离开字段时,什么也没有发生,然后我再点击字段,然后输入“2”,当我离开字段时,我会得到“1”消息…但我想在离开字段时获取内容,我使用了XSP.partialRefreshPost(“#{id:view:_id1:repeat}”);但是…它不起作用…我错过了什么?请在一个单独的新问题中提出这个问题,并添加相关代码。谢谢克努特…谢谢克努特…这对我很有效,那么我知道为什么没有人问这样的问题了=我能再问一个问题吗?我只是觉得很奇怪,当我第一次点击这个字段的时候,我不能先得到内容,我必须点击两次才能得到内容,比如,我先在字段中输入“1”,当焦点离开字段时,什么也没有发生,然后我再点击字段,然后输入“2”,当我离开字段时,我会得到“1”消息…但我想在离开字段时获取内容,我使用了XSP.partialRefreshPost(“#{id:view:_id1:repeat}”);但是…它不起作用…我错过了什么?请在一个单独的新问题中提出这个问题,并添加相关代码。感谢KnutThank txemanu的回复,但它不起作用…事实上,我曾尝试使用“var index=“#{detailIndex}”;但在我以这种方式编写之后,页面无法打开…不知道问题出在哪里…knut的答案对我来说很有效…无论如何,再次感谢~尝试使用“#{javascript:return detailIndex}”";感谢txemanu的回复,但它不起作用…事实上,我曾尝试使用“var index=“#{detailIndex}”;但在我以这种方式编写之后,页面无法打开…不知道问题出在哪里…克努特的答案对我来说很有效…无论如何,再次感谢~尝试使用“#{javascript:return detailIndex}”;