我正在尝试捕获所选的复选框,以便通过AJAX发送。但我只是点击一下所选元素;也就是说,我第一次点击一个复选框时,“elm”循环无法识别该复选框被选中;只有当我第二次点击时,它才会吐出那个元素。在第三次点击时,它会先吐出第一次和第二次,但不是第三次。
$(".datatype").mouseup(function()
{
/* check keyword */
var searchbox = document.forms['formIndex'].searchbox.value;
/* check datasetype */
var vals = [], datasettype = document.forms['formIndex']['datasettype[]'];
for(var i=0,elm;elm = datasettype[i];i++)
{
alert(i + ': ' + elm.value);
if(elm.checked)
{
alert(i + ': ' + elm.value);
vals.push(elm.value);
}
}
contents = vals.join(',');
HTML code:
<fieldset>
<legend style="font-size: 1.2em; font-weight: bold; border: 1px solid aaa" for="selectedRegion">Data Set Type</legend>
<input type="checkbox" class="datatype" name="datasettype[]" value="1">National<br />
<input type="checkbox" class="datatype" name="datasettype[]" value="3">Sub-Regional<br />
<input type="checkbox" class="datatype" name="datasettype[]" value="2">Regional<br />
任何人都可以给我一个提示,为什么会这样?非常感谢您的帮助。
答案 0 :(得分:0)
我认为您需要使用change
事件代替mouseup
$(".datatype").change(function()