2016-03-04 71 views
-1

我有一个方法ForceNumeric,我想应用于输入字段。我想是这样的:template_item_input[0].ForceNumeric();可以用JQuery找到输入字段

我renderd HTML看起来像这样:

<div id="itemList"> 
    <div class="ingress"></div> 
    <div id="itemListItem[0]" class="dataListItem first"> 
    <span class="put-left startTimeSpan"></span> 
    <span class="put-left separator"></span> 
    <span class="put-left endTimeSpan"></span> 
    <span class="put-left ruleSpan"></span> 
    <span class="put-left valueItem"> 
    <input id="template_item_input[0]_value_item" class="styledInput"> 
    </span> 
    <span class="put-left unit"></span> 
    </div> 
    <div id="itemListItem[1]" class="dataListItem first"> 
    <span class="put-left startTimeSpan"></span> 
    <span class="put-left separator"></span> 
    <span class="put-left endTimeSpan"></span> 
    <span class="put-left ruleSpan"></span> 
    <span class="put-left valueItem"> 
    <input id="template_item_input[1]_value_item" class="styledInput"> 
    </span> 
    <span class="put-left unit"></span> 
</div> 
</div> 

$(document).ready我这样做。 this.id等于template_item_input [0],但其值空对象object[]

$("#carbList").children(".carbListItem").each(function() { 
      var value = $(this.id).find('.put-left.valueItem'); 
      var inp = $(value).find('input'); 
      $(inp).ForceNumericOnly(); 
}), 

我到底做错了什么?

回答

1

this.id将返回点击元素的id。使用$(this)$('#'+this.id)而不是$(this.id)

$(#YOUR_ID)是一个有效的选择器,用于获取id为YOUR_ID的元素。 $(YOUR_ID)将返回具有标记的元素作为YOUR_ID =><YOUR_ID>

您不需要在jQuery包装器中包装value。它已经是$包裹对象。

+0

谢谢Rayon,这解决了我的问题! – Andy

+0

@如果人造丝答案解决了您的问题,请不要忘记接受答案。 – danielpm

相关问题