以文本方式查看主题

-  W3CHINA.ORG讨论区 - 语义网·描述逻辑·本体·RDF·OWL  (http://bbs.xml.org.cn/index.asp)
--  『 XSL/XSLT/XSL-FO/CSS 』  (http://bbs.xml.org.cn/list.asp?boardid=8)
----  我的radio默认值怎么选不上呢?请大家帮忙看看!!非常感谢!!请Qr帮帮忙吧.非常感谢!!!急需要解决呢!!!  (http://bbs.xml.org.cn/dispbbs.asp?boardid=8&rootid=&id=49457)


--  作者:jiaoyu
--  发布时间:7/5/2007 4:05:00 PM

--  我的radio默认值怎么选不上呢?请大家帮忙看看!!非常感谢!!请Qr帮帮忙吧.非常感谢!!!急需要解决呢!!!
XML文件:
 <Prop>
   <OBJ_ID> CDriver.ISEMPLOYEE </OBJ_ID>
   <OBJ_NAME> ISEMPLOYEE </OBJ_NAME>
      <UI_TYPE> 113 </UI_TYPE>
      <PROP_VALUE> 1 </PROP_VALUE>
      <PropValueList>
    <CandidatedValue>
     <SYS_ID>92</SYS_ID>
     <PROP_SYS_ID>268</PROP_SYS_ID>
     <OBJ_ID>是</OBJ_ID>
     <DISP_SEQUENCE>1</DISP_SEQUENCE>
    </CandidatedValue>
    <CandidatedValue>
     <SYS_ID>92</SYS_ID>
     <PROP_SYS_ID>268</PROP_SYS_ID>
     <OBJ_ID>否</OBJ_ID>
     <DISP_SEQUENCE>2</DISP_SEQUENCE>
    </CandidatedValue>
</Prop>
XSLT文件:
<xsl:when test="UI_TYPE=113">     
         <xsl:for-each select="PropValueList/CandidatedValue">
       <input type="radio" name="OBJ_NAME">        
        <xsl:attribute name="value">
         <xsl:value-of select="OBJ_ID" />
        </xsl:attribute>
        <xsl:if test="$selected-PROP_VALUE=$DISP_SEQUENCE">
         <xsl:attribute name="checked" />
        </xsl:if>
       </input>
       <xsl:value-of select="C_DISP_VALUE"/>
      </xsl:for-each>  
     </xsl:when>

$selected-PROP_VALUE 和 $DISP_SEQUENCE是我声明的参数.
现在是根据XML的PROP_VALUE 和   DISP_SEQUENCE 两个值来确定他的默认值是哪个?如果PROP_VALUE 的值为1,然后要看 DISP_SEQUENCE,如果他的值也为1,则显示他所对应的 OBJ_ID 的值,即显示"男",如果他两的值都是"2",则显示"女".现在XML的PROP_VALUE值为1,所以他的默认值应该是"男",可是我的 radio的值就是选不上,请大家帮忙看看为什么呢?
   


--  作者:Starling
--  发布时间:7/5/2007 4:16:00 PM

--  
也用不着这么求吧………呵呵~~~~~
--  作者:jiaoyu
--  发布时间:7/5/2007 4:22:00 PM

--  怎么, 为什么不可以呢?
我的问题,急需要解决呀
--  作者:Qr
--  发布时间:7/5/2007 6:28:00 PM

--  
<xsl:if test="$selected-PROP_VALUE=$DISP_SEQUENCE">
<xsl:attribute name="checked" />
</xsl:if>
对于xsl:if:这样的用法是没办法区分是否同时为1或2的
对于xsl:attribute:你这行代码会让radio永远为false,即不选中状态

鉴于你的代码错误太多,且不明确,偶就只针对xsl:if这段语句进行修正:
<xsl:if test="$selected-PROP_VALUE='1' and $DISP_SEQUENCE='1'">
...
</xsl:if>
<xsl:if test="$selected-PROP_VALUE='2' and $DISP_SEQUENCE='2'">
...
</xsl:if>

<xsl:attribute name="checked">checked</xsl:attribute>这里必须给radio指定一个值,空值表示不选中。

最好不要点名,这样不太好


--  作者:Starling
--  发布时间:7/6/2007 10:22:00 AM

--  
呵呵,Qr太谦虚乐~~坛子里难得有你这样又有技术又热心的人,像我,光热心了,就没技术~~

此外,小范围的搞点个人崇拜和造神运动也未必是坏事,HOHO~~~~~

最后希望所有受到帮助的人也可以用刚刚学到的知识帮助更多的人,即使自己也掌握得不好也绝对不是道听途说,而是授人以渔~~知识就是这么积累起来的~~~~


--  作者:Qr
--  发布时间:7/6/2007 1:12:00 PM

--  
这里的热心人也不少啊,技术也都很好,比如hexun831012,还有...一下子想不起来了。还有你这个热心人,这里会更加热闹的。

其实只要大家不嫌偶麻烦就好了,这样也许偶还能再坚持一下子。


--  作者:Starling
--  发布时间:7/6/2007 3:58:00 PM

--  
Qr大牛果然气度不凡~~~~
--  作者:火鸟
--  发布时间:7/6/2007 4:55:00 PM

--  
是XPath路径问题,看我在其他贴子里的回帖。
--  作者:火鸟
--  发布时间:7/6/2007 4:57:00 PM

--  
用Saxon生成html解决,才是王道。
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
4,685.547ms