jquery选择器无法从隐藏字段读取

And*_*ndy 14 forms jquery hidden element css-selectors

(答案汇总到另一个问题)

以下jquery 1.3.2代码有效:

<input type="select" value="236434" id="ixd" name='ixd' />

<script>
console.log( $('#ixd') );
console.log( $("input[name='ixd']") );
</script>
Run Code Online (Sandbox Code Playgroud)

控制台显示:

[输入#ixd 236434]

[输入#ixd 236434]

但是,将输入设置为"隐藏"会阻止选择器工作.有线索吗?

<input type="hidden" value="236434" id="ixd" name='ixd' />

<script>
console.log( $('#ixd') );
console.log( $("input[name='ixd']") );
</script>
Run Code Online (Sandbox Code Playgroud)

控制台显示:

[]

[]

Mik*_*cic 27

不知道为什么那会失败.我定期在工作中做同样的事情,无论是否隐藏形式字段,它都能正常工作.

也许尝试这个:

<input type="hidden" value="236434" id="ixd" name='ixd' />

<script>
    console.log($("#xid").val())
</script>
Run Code Online (Sandbox Code Playgroud)

这将获得隐藏字段的价值.要从表单字段中获取值,.val()需要使用该方法.

  • +1:他应该使用.val()来检索字段的值. (2认同)
  • 试过,我试图指出选择器没有运行而不是使用输出:) (2认同)

kar*_*m79 9

<input type="select" value="236434" id="ixd" name='ixd' />
Run Code Online (Sandbox Code Playgroud)

这甚至是有效的标记吗?

看起来选择一个可见的输入检索它的值,即使没有明确的调用.val(),而选择一个隐藏的输入则不:

尝试:

console.log( $('#ixd').val() );
console.log( $("input[name='ixd'][type='hidden']") );
Run Code Online (Sandbox Code Playgroud)

console.log( $("input[name='ixd']").val() );
Run Code Online (Sandbox Code Playgroud)