我的HTML:
<input type="checkbox" value="113" id="product_113" class="chk_product_name" name="product[parentid][childid][]">
<label for="product_113">Samsung<label>
<br>
<input type="checkbox" value="114" id="product_114" class="chk_product_name" name="product[parentid][childid][]">
<label for="product_114">Nokia<label>
<br>
<input type="checkbox" value="115" id="product_115" class="chk_product_name" name="product[parentid][childid][]">
<label for="product_115">Apple<label>
<br>
<input type="checkbox" value="116" id="product_116" class="chk_product_name" name="product[parentid][childid][]">
<label for="product_116">LG<label>
我只想在选中复选框时获取每个标签的值 我在jquery中尝试这个:
$('[name="product[parentid][childid][]"]').click(function(){
$('[name="product[parentid][childid][]"]:checked').each(function() {
alert($("label:for:product_"+this.value).html );
});
});
答案 0 :(得分:1)
您需要关闭标签。使用
<label for="product_113">Samsung</label>
而不是
<label for="product_113">Samsung<label>
的JavaScript
$('[name="product[parentid][childid][]"]').click(function () {
$('[name="product[parentid][childid][]"]:checked').each(function () {
alert($("label[for='product_" + this.value + "']").html());
//OR
alert($('label[for=' + this.id + ']').html());
});
});
此外,我建议您使用change
事件代替click
答案 1 :(得分:0)
尝试这样的事情,FIDDLE
另外请不要忘记关闭'label'标签
$('[name="product[parentid][childid][]"]').click(function () {
alert($('label[for=' + this.id + ']').html());
});
答案 2 :(得分:0)
应该是:
$('[name="product[parentid][childid][]"]').click(function () {
$('[name="product[parentid][childid][]"]:checked').each(function () {
alert($("label[for='product_" + $(this).val()+"']").html());
});
});
答案 3 :(得分:0)
我认为这很简短,易读且干净
$('.chk_product_name').change(function(){
if (this.checked){ alert($('label[for='+this.id+']').text());}
});
答案 4 :(得分:0)
这是一个更短的版本: http://jsfiddle.net/Tq4C2/7/
$('[name="product[parentid][childid][]"]').click(function(){
alert($(this).next().text());
});
您的<label>
标记也未关闭。