Jquery隐藏输入选择要写入值

时间:2017-10-19 18:01:29

标签: jquery

我使用Jquery typeahead

在onClickAfter:函数(node,a,item,event)事件中我做

node.closest('td').first('input[type=hidden]').attr('value',item.id);

html代码的一部分

<td>
     <input type="hidden" name="carParams[2].id">
     <input type="hidden" name="carParams[2].idJoins">
     <div class="typeahead__container cancel">
             <div class="typeahead__field">
                 <span class="typeahead__query">
                     <span class="typeahead__cancel-button"></span><input name="carParams[2].name" class="form-control js-typeahead" type="search" placeholder="Type partial value" autocomplete="off">
                 </span>
             </div>
     <div class="typeahead__result"><ul class="typeahead__list"><li class="typeahead__item typeahead__group-carparam"><a href="javascript:;" data-group="carParam" data-index="0"><span class="typeahead__display"><strong>color value</strong></span></a></li></ul></div></div>
</td>

问题是价值领域没有放在正确的位置......

<td value="45">

想把它放到<input type="hidden" name="carParams[2].id">

2 个答案:

答案 0 :(得分:1)

使用.find()遍历孩子

node.closest('td').find('input[name="carParams[2].id"]').attr('value',item.id);

答案 1 :(得分:1)

使用此

node.closest('td').find('input[type=hidden]').first().attr('value',item.id);

https://api.jquery.com/first/如上所述&#34;将匹配元素的集合减少到集合中的第一个。&#34;

您的原始代码会在问题所在的td而不是input上执行此操作。 first()也不接受任何参数。您可以先使用.find()获取隐藏的输入,然后使用first()将其缩减为第一个

该解决方案可以应用于不同的形式