2014-05-09 7 views
2

xforms 이벤트에 도움이 필요합니다. 불리언 필드가 있습니다 - 필드의 체크 박스가 선택되어있는 경우 다른 필드가 표시됩니다. 즉 Payment1 (이 경우 관련성이 있습니다)에 금액을 입력하면 - 그 다음에 합계 필드가 있습니다. 문제는 내가 지불 1의 필드 값을 선택하지 않은 경우 여전히 합계 필드에 계산됩니다. 나는 체크 박스가 선택되지 않은 경우 Payment1 필드의 명확한 가치에 대한 감사 할 것입니다.필드를 지우는 XForms 이벤트

답변

1

action 중 하나는 빈 문자열로 Payment1의 값을 설정하는 것입니다.

아래 예제 모델에서 요소 bar이 "선택됨"(선택 값)과 같지 않으면 요소 foo이 빈 문자열로 설정됩니다.

<table> 
    <row> 
     <td></td> 
     <td> 
      <xf:select ref="bar" selection="closed" appearance="full" incremental="true"> 
       <xf:item> 
        <xf:label>Click Me</xf:label> 
        <xf:value>checked</xf:value> 
       </xf:item> 
      </xf:select> 
     </td> 
    </row> 
</table> 
<table> 
    <tr> 
     <td>Input Foo: </td> 
     <td> 
      <xf:input incremental="true" ref="foo"/> 
     </td> 
    </tr> 
</table> 
: 여기
<xf:model> 
     <xf:instance id="main"> 
      <data> 
       <foo></foo> 
       <bar></bar> 
      </data> 
     </xf:instance> 
     <xf:bind nodeset="instance('main')/foo" relevant="following-sibling::bar='checked'"/> 
     <xf:action ev:event="xforms-refresh"> 
      <xf:action if="instance('main')/bar[not(.='checked')]"> 
       <xf:setvalue ref="instance('main')/foo" value="''"/>      
      </xf:action> 
     </xf:action> 
    </xf:model> 

는 선택 ( bar)의 일례와 입력 ( foo)의