2013-05-05 58 views
1

复制的文本分辨率从JSF剪贴板/ primefaces提到here的作品,因为它是,但似乎有一些问题,我请找我下面的代码:将文本复制到从JSF剪贴板/ primefaces总不工作

<h:outputScript library="default" name="js/jquery-1.9.1.min.js"/> 
    <h:outputScript library="default" name="js/jquery.zclip.min.js"/> 
    <script type="text/javascript"> 
    $(document).ready(function(){ 

    $('a#copy_coupon_code').zclip({ 
     path:"#{resource['default:js/ZeroClipboard.swf']}", 
     copy:$('span#offer_details_form:coupon_code').text() 
    }); 
    }); 
    </script>      
<h:outputText id="coupon_code" value="ABCD11" /> 
<a id="copy_coupon_code" href="#">Copy coupon and redirect</a> 

这是怎样的代码看起来在浏览器中: enter image description here

复制到剪贴板不工作,任何帮助是极大的赞赏.....

+0

请您详细说明一下用2分隔的意思吗? – Ravi 2013-05-06 18:30:57

+0

在浏览器中打开Firefox中的firebug或开发者工具,并检查id的html标记。 – Ravi 2013-05-07 14:58:53

+0

你的代码中有一些脚本问题,就像@Ravi说的那样,看看firebug找到它。 – Scoup 2013-05-09 18:28:31

回答

2

这是集成JSF和jQuery的一个众所周知的问题,因为jsf使用冒号:字符表示组件的ID,并且冒号:字符是特殊字符(冒号:是为jQuery选择器保留的),因此您必须通过放置两个反斜线在它的前面:

$('span#offer_details_form\\:coupon_code') 

我刚才测试,它做工精细(从here下载zClip):

<h:head> 
    </h:head> 
    <h:body> 
     <h:outputScript library="js" name="jquery-1.9.1.min.js"/> 
     <h:outputScript library="js" name="jquery.zclip.min.js"/> 
     <script type="text/javascript"> 
      $(document).ready(function(){ 
       $('#copylink').zclip({ 
        path:"#{resource['js:ZeroClipboard.swf']}", 
        copy:$('#myform\\:txt1').text() 
       }); 
      }); 
     </script> 
     <h:form id="myform"> 
      <p:panel> 
       <h:outputText id="txt1" value="Stackoverflow"/> 
       <a id="copylink" href="#">Copy Description</a> 
      </p:panel> 
     </h:form> 
    </h:body> 

和结果:

enter image description here

+0

我使用手机,所以我不能显示更多信息,对不起。 – 2013-05-12 03:46:35

+0

以下是修复问题,这个修复由RongNK提供,非常感谢@RongNK 2013-05-14 11:25:00