【发布时间】:2013-03-05 03:50:35
【问题描述】:
这是我的 jsf 表:
<h:dataTable value="myBean.rows" var="b">
<h:column>
<div class="slider-range-min">
<h:inputHidden id="buildingId" value="#{b.buildingId}" />
<h:inputHidden id="amount" value="#{b.amount}" />
</div>
</h:column>
</h:dataTable>
现在,可以说,我可以通过 jQuery 在 JavaScript 中访问上面的“div”:
$(this).
我可以通过这种方式访问第一个 inputHidden 值:$(this).children[0].innerHTML,但我的目标是
通过id(buildingId) 获取这个hiddenInput 字段,因为这些hiddenInputs 的顺序可以改变,所以通过children[0] 访问可能不再有效。如何做到这一点?
(13:52:12 16.03.2013)
嗯,您的任何解决方案都不起作用。这是我的 JavaScript 代码:
$(function() {
$( ".slider-range-min" ).slider({
range: "min",
value: 37,
min: 0,
max: 700,
stop: function( event, ui ) {
var buildingId = $(this).find('#buildingId').val();
console.log(buildingId);
如您所见,每个 div 都是一个 JQuery UI 滑块。控制台打印“未定义”。 在 html 文档中,此表中的这些输入之一显示为 id:“foodTableForm:foodTable:0:buildingId”。 因此,如您所见,这些 id 因表而被修改。
【问题讨论】:
-
为什么不
$('#buildingId').html()?您的问题可能有点不清楚。 -
您想找到
input的id,还是使用id找到input?跨度> -
我无法以你的方式得到它,因为这些 inputHidden 元素在表格中,所以在 HTML 源代码中,不会有带有 'buildingId' id 的元素。
-
我可以通过 $(this) 访问表中的特定 div。现在,我想在这个 div 中找到带有“buildingId”的元素。它不能用$('#buildingId')来完成,因为这是一个表,所以会在html文档的id后面附加一些东西。可以使用 $(this).children[0] 来完成,但这不是完整的解决方案,因为这些输入将来可能会发生变化。
标签: javascript jquery jsf