我的HTML代码:
<li id='category-10'>
<label class="selectit">
<input value="10" type="checkbox" name="post_category[]" id="in-category-10" /> Developmental
</label>
</li>
我的javascript代码:
function onCategoryClick() {
$(".selectit").click(function(e){
var categoryValue = $(e.target).text();
alert("The value is " + categoryValue);
});
}
这会返回字符串“值为开发”,但我想要的是“值为10” 我是Javascript的新手,我将如何定位输入中的值字段而不是文本?
我也试过
var categoryValue = $(e.target > input).value;
但这不会返回任何东西。
答案 0 :(得分:1)
而不是
$(e.target).text();
尝试
$(this).find('#in-category-10').val();
此处e.target
对应label
。它有文本'Developmental'和嵌套的输入元素。
所以你需要使用find来访问它。 (如果没有id)
但ID
应该在页面上是唯一的。因此,要访问该元素,您可以直接使用id选择器
var categoryValue = $('#in-category-10').val();
请记住,输入没有text
属性。需要使用val
方法