2010-08-10 66 views
0

有什麼錯我的代碼,我沒有得到任何值:jQuery的:複選框

<script> 
    $(document).ready(function() 
    { 
     $("input[type=checkbox][checked]").each(function(event){ 
      var get = $("input[@name=\'checkbox_pref\']:checked").val(); 
      $("#result").html("&id=" + get); 
     }); 
    }); 
</script> 
</head>                 
<body>                 
<input type="checkbox" name="checkbox_pref" value = "1"/> 
<input type="checkbox" name="checkbox_pref" value = "2"/> 
<input type="checkbox" name="checkbox_pref" value = "3"/> 
<div id="result">result ...</div> 
+1

我看到它的方式,你做的那些上載檢查複選框該功能。是他們中的任何一個自動檢查或什麼? – 2010-08-10 15:03:19

回答

6

取決於你想要做什麼,但它應該是沿的線條更:

$(document).ready(function() 
{ 
    $("input[type=checkbox]").change(function(event){ 
     $("#result").html("&id=" + this.value); 
    }); 
}); 
+2

我同意,雖然我會做$('input:checkbox')' – 2010-08-10 15:27:11

+0

謝謝,但是如何獲取所有選定的值,不只是最後一個? – user319854 2010-08-10 19:56:49

2

你不需要逃脫單引號或@符號。使用此行:

$(document).ready(function() 
{ 
    $("input[type=checkbox][checked]").each(function(event){ 
     var get = $("input[name='checkbox_pref']:checked").val(); 
     $("#result").html("&id=" + get); 
    }); 
}); 
+0

轉義單引號沒有任何問題。編輯:我看到你更新你的答案,刪除'@'符號。 – user113716 2010-08-10 15:08:17

+0

..我剛剛在jsFiddle.net上檢查了你的解決方案,它似乎沒有工作。 http://jsfiddle.net/cxhVV/ – Hristo 2010-08-10 15:25:10