【问题标题】:Setting value of h:inputtext field using jquery script使用 jquery 脚本设置 h:inputtext 字段的值
【发布时间】:2013-09-24 10:42:37
【问题描述】:

我正在设计一个页面,该页面应该允许用户提交可能的计算科学项目,并且在某个阶段用户必须输入项目将运行的持续时间。为了让用户更轻松,我尝试使用 jQuery 的 datepicker 方法填写 from: to: 字段,但是当用户选择适当的字段时,我无法运行脚本。

到目前为止,我有以下脚本:

<h:outputScript library="jquery" name="jquery-1.9.1.js"/>
<h:outputScript library="jquery" name="jquery-ui-1.10.3.custom.js"/>
<h:outputScript library="jquery" name="jquery-ui-1.10.3.custom.min.js"/>

<h:head>
    <title>Add project</title>

    <script type="text/javascript" id="setDate">
        $(function() {
            $(" #datepicker ").datepicker();
        });
    </script>
    <!-- rest omitted for readability -->

我的 h:inputText 看起来像这样:

<h:inputText id="setDate" value="" onclick="$('#datepicker').datepicker();"/>
<p>Date: <input type="text" id="datepicker" /></p>

我确实尝试在不使用任何 jsf 标签的情况下让它工作,并设法让它运行起来,但我似乎可以让它与 jsf 标签一起工作。

问题是,当在浏览器中单击字段时,jQuery datepicker 小部件不会显示。单击使用标准&lt;input&gt; 标签定义的字段可以正常工作。

非常感谢任何帮助,谢谢。

【问题讨论】:

  • 抱歉,可能有点不清楚。问题是在浏览器中选择输入字段时,日期选择器小部件不显示。使用普通 标签时,这不是问题。仅在使用 JSF 时
  • 为什么你有两个 id = "setDate" 的标签?
  • @DannyThunder,很抱歉,经过一些试验和错误后留下的痕迹。

标签: javascript jquery jsf


【解决方案1】:
<script type="text/javascript">
 $( document ).ready(function() {
   function openDatePicker(){
      $("#datepicker").datepicker();
   }
 });
</script>

<h:inputText id="setDate" value="" onclick="openDatePicker();"/>
<p>Date: <input type="text" id="datepicker" /></p>

希望这对你有用(还没有尝试过)。

【讨论】:

  • 我设法通过稍微调整您的答案使其正常工作,非常感谢您让我走上正轨。
  • 你做了什么@MWold?将编辑发布给我并在我编辑后立即检查我的答案? :-)
【解决方案2】:

我设法通过以下方式解决了我的问题:

将我的脚本更改为:

<script type="text/javascript">
    $(document).ready(function() {
        $(".datepicker").datepicker({

        });
    });
</script>

和我的jsf标签:

<h:inputText styleClass="datepicker"/>

现在,当我选择字段时,将显示日期选择器小部件。感谢 DannyThunder 让我走上正轨。

【讨论】:

    【解决方案3】:

    这就是我的答案:

    <script>
       jQuery(document).ready(function($) {
         $('#signup-form\\:email').checkEmailFormat();      
       });
    </script>
    

    对于 Primefaces:

    <script>
       jQuery(document).ready(function($) {
        $(PrimeFaces.escapeClientId('signup-form:emil')).checkEmailFormat();
       });
    </script>
    

    我从mkyong.com得到信息

    最好的问候

    【讨论】:

      猜你喜欢
      • 2011-08-25
      • 2015-08-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-25
      • 2015-03-25
      • 1970-01-01
      • 2014-03-26
      相关资源
      最近更新 更多