复选框上的jQuery mouseup事件无法正常工作?

时间:2012-11-27 13:55:29

标签: jquery arrays checkbox

我正在尝试捕获所选的复选框,以便通过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 />

任何人都可以给我一个提示,为什么会这样?非常感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

我认为您需要使用change事件代替mouseup

$(".datatype").change(function()