我有html:
<div>
<label>
<input type='radio' name='a'>
<span></span>
<input type='hidden' value='1'>
</label>
<label>...
</div>
我需要通过标签上的点击事件获取隐藏输入的值。
我有这样的javascript:
$('label').live('click', function () {
var value = $(this).children('input:hidden').val();
});
但这不起作用。有人可以帮忙吗?
答案 0 :(得分:1)
工作正常:
<div>
<label>
<input type='radio' name='a'>
<span></span>
<input type='hidden' value='1'>
</label>
</div>
<script type="text/javascript">
$('label').live('click', function () {
var value = $(this).children('input:hidden').val();
console.log(value);
});
</script>
输出:1
答案 1 :(得分:1)
<form action="form_action.asp" method="get">
Email: <input type="text" name="email" /><br />
<input type="hidden" name="country" value="Norway" />
<input type="submit" value="Submit" />
</form>
$(function() {
$('label').on('click', function () {
var value = $(this).children('input:hidden').val();
});
});
答案 2 :(得分:1)
首先,除非你绝对必须,否则你应该避免live()
功能。根据jQuery版本,使用bind()
,click()
或on()
但是您的代码运行正常,请参阅this Fiddle。