如何使dojox.form.Raiting成为只读

如何使dojox.form.Raiting成为只读,dojo,xpages,Dojo,Xpages,我有一个要求,用户需要对响应进行评分;为此,我正在尝试dojox.form.Rating小部件 到目前为止,这还可以,但是,我还需要提供一个只读的平均评级 我根据尝试了disabled=true或disabled=disabled,但它不起作用 我还尝试用ReadOnly属性将这个div包装到xp:panel中,但仍然可以从中选择一个值 <div id="rateControl" dojoType="dojox.form.Rating" numStars="5" d

我有一个要求,用户需要对响应进行评分;为此,我正在尝试dojox.form.Rating小部件

到目前为止,这还可以,但是,我还需要提供一个只读的平均评级

我根据尝试了disabled=true或disabled=disabled,但它不起作用

我还尝试用ReadOnly属性将这个div包装到xp:panel中,但仍然可以从中选择一个值

<div id="rateControl" dojoType="dojox.form.Rating" numStars="5"
            disabled="true" value="2" class="pull-right">
</div>

您好,dojox.form.Raiting有一个bug,请参阅: 如果控件应为只读,则可以使用覆盖div来代替补丁,而不是使用变通方法:

<xp:panel id="container">
<xp:panel id="overlay" style="width: 100%;  height: 100%;   position: absolute;   top: 0;   left: 0; z-index: 10;"></xp:panel>
    <div
            id="rateControl"
            dojoType="dojox.form.Rating"
            numStars="5"
            value="2"
            class="pull-right">
    </div>
</xp:panel>

正如Michael所评论的,它不尊重“disabled”属性,Domino服务器提供的dojo库中不存在修补的评级小部件

在我的示例中,我使用了dojo Rating小部件。对于只读,我刚刚在div中实现了一个repeat控件



这里,
invTools.getRepeatArray(compositeData)
包含“满”和“空”星的数量。e、 g.对于3/5星,它是
['full'、'full'、'full'、'empty'、'empty']

dojo.form.Raiting签出中有一个bug:对于补丁。它是有效的,我只需修改height属性,因为它使整个表单成为只读。
<xp:div id="ratingReadonly"
    styleClass="ratingStarWrapper">
    <xp:this.rendered><![CDATA[#{javascript:(! invTools.isRatingEnabled(compositeData))}]]></xp:this.rendered>
    <xp:repeat id="repeat1" first="0"
        indexVar="starIndex" rows="100" var="starType"
        style="display:inline">
        <xp:this.value><![CDATA[#{javascript:invTools.getRepeatArray(compositeData)}]]></xp:this.value>
        <xp:image id="image2">
            <xp:this.url><![CDATA[#{javascript:"/.ibmxspres/dojoroot/dojox/form/resources/images/rating_"+starType+".gif"}]]></xp:this.url>
        </xp:image>
    </xp:repeat>
</xp:div><!-- end-ratingReadonly -->