首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >("id").val()不能使用tr:subform标记

("id").val()不能使用tr:subform标记
EN

Stack Overflow用户
提问于 2014-03-16 15:12:56
回答 2查看 310关注 0票数 1

我正在使用阿帕奇千里达。我使用了tr:subform标签,里面有几个元素,比如日期字段,命令按钮每个都有一个Id。现在我有一个jquery函数,它使用('# id ').val()来获取它不工作的fields.But。我可以看到字段的id在模式“subformid:.But”字段中。在jquery函数中,它不能通过val()获取值.Here是代码片段

代码语言:javascript
复制
<tr:subform id="subform1">
<tr:outputLabel for="to_Date" value="To Date"/>
            <tr:inputDate id="to_Date"   value="#{customer.toDate }" >

            <f:convertDateTime pattern="dd-MM-yyyy"  />
            </tr:inputDate>
<tr:commandButton text="Filter" action="#{bean.action }" id="filterId"  partialSubmit="true"></tr:commandButton>

</tr:subform>

这里日期字段的id变成了"subform1:to_Date“automatically.But当我使用document.getElementById('subform1:to_Date')它返回null .Here是我的jquery函数

代码语言:javascript
复制
    $(document).ready( function() {

        $("#subform1:filterId").click(function(){
            alert('filterid clicked');
            var datePrsn = "";
            datePrsn = $("#subform1:to_Date").val();
            }
});
EN

回答 2

Stack Overflow用户

发布于 2014-03-16 15:29:55

<tr:subform>是在服务器端的中运行的,它的超文本标记语言应该是<tr id="...">。因此,您只需查看服务器代码呈现的id是什么,然后按照@Pilot建议的那样仅通过id获取元素,例如:

代码语言:javascript
复制
document.getElementById('to_Date')

仅供参考:http://myfaces.apache.org/trinidad/trinidad-api/tagdoc/tr_subform.html

编辑

使用两个反斜杠(\\:)转义jQuery选择器中的冒号:

代码语言:javascript
复制
$('#subform1\\:filterId');
票数 1
EN

Stack Overflow用户

发布于 2014-06-24 13:42:00

尝试安装Firebug (适用于Firefox),或者使用F12适用于Chrome或IE,然后单击您想要的元素,使用这些工具,您可以看到为元素生成的确切名称。

如果您有另一个元素,如tr:form或tr:table,则名称将显示为formId:subFormId:elementId或tableId:0:elementId

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22434066

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档