尝试使用sibling() - jQuery方法访问输入隐藏元素,但不能

时间:2017-07-12 09:33:16

标签: javascript jquery

我有2个输入文本类型的文本和隐藏。

<c:forEach items="seaList" var="sList" varStatus="myIndex"> 
               <td style="font-size: 9pt">
                    <input name="CM_name" id="CM_name${myIndex.index}" type="text"  value="${sList.cm_id}"  class= "Face" placeholder="Search " autocomplete="off" onclick="searchMe(this.id)">
                    <input type="hidden" name="CM_name1" value="${sList.cm_id}" />
                </td>
                <td style="font-size: 9pt">
                    <input name="BOM_name" id="BOM_name${myIndex.index}" type="text"  value="${sList.bom_id }" class= "Face" placeholder="Search" autocomplete="off" onclick="searchMe(this.id)">
                    <input type="hidden" name="BOM_name1" value="${sList.bom_id }" />
                </td> 
</c:forEach>

单击文本类型元素时,还应设置隐藏元素的值。 所以,我正在尝试使用下面的jQuery脚本

function searchme(idx){

      Face.init(

            $('#'+idx)[0],
            {
            faces: {
                enabled: true,
                onclick: function(person) {
                  var i= "some_email@gmail.com";
                  var s=$(this).siblings('input:hidden').val(i); 
                  alert(s);                   
                  return i;

                }
            }
        });          

}

with“$(this).siblings('input:hidden')。val(i);”line,什么都没发生 至少我无法将现有值变为变量 “var x = $(this).siblings('input:hidden')。val();” 任何人都可以帮我改变jQuery中隐藏的输入值吗?

2 个答案:

答案 0 :(得分:1)

你可以试试这个

var s=$(this).find('input[type=hidden]').val(i); 

答案 1 :(得分:0)

因此,您需要根据可见字段的值填充隐藏字段。下面的代码可以帮助您实现这一目标:

$(".Face").on('keyup', function(){
   $(this).next('input').val($(this).val())
});

基本上,只要您在可见字段中输入任何内容,此代码就会被触发,同样的值也会出现在隐藏字段中。试着告诉我们。