何らかの理由で、jQuery を使用して ID で非表示の入力を取得できません。
できます
> $('input')
[<input type="checkbox" name="property-type" id checked>, <input type="checkbox" name="property-type" id checked>, <input type="checkbox" name="property-type" id>, <input type="checkbox" name="property-type" id>, <input type="hidden" name="no-of-rooms" id="1-rooms">, <input type="hidden" name="no-of-rooms" id="2-rooms" checked>, <input type="hidden" name="no-of-rooms" id="3-rooms" checked>, <input type="hidden" name="no-of-rooms" id="4-rooms">, <input type="hidden" name="no-of-rooms" id="5-rooms">, <input type="hidden" name="no-of-rooms" id="over-5-rooms">, <input type="checkbox" name="property-type" id>, <input type="checkbox" name="property-type" id>, <input type="checkbox" name="property-type" id>]
これにより、type=hidden の入力を含め、ページ上のすべての入力が適切に取得されます。
私もできる
> $('input[type="hidden"]')
[<input type="hidden" name="no-of-rooms" id="1-rooms">, <input type="hidden" name="no-of-rooms" id="2-rooms" checked>, <input type="hidden" name="no-of-rooms" id="3-rooms" checked>, <input type="hidden" name="no-of-rooms" id="4-rooms">, <input type="hidden" name="no-of-rooms" id="5-rooms">, <input type="hidden" name="no-of-rooms" id="over-5-rooms">]
これにより、すべての非表示フィールドが取得されます。それらはすべてIDを持っていることに注意してください。
何らかの理由で、含まれているかどうかに関係なく、ID でこれらの入力をターゲットにしようとすると[type="hidden"]
、空のリストが表示されます。
> $('input[type="hidden"]#2-rooms')
[]
> $('input#2-rooms')
[]
ID でターゲットを設定しないことで回避策を見つけることができましたが、これが不可能と思われる理由を知っておくと役に立ちます。
編集
使用するだけで$('#2-rooms')
うまくいき、明らかに最良のアプローチです。ただし、実際に html5 doctype ( ) を含めた$('input#2-rooms')
ので、なぜ機能しないのかはまだわかりません。この場合、数字で始まる ID は問題ないはずです。<!DOCTYPE html>