如何将Checkbox值连接到jquery中的一个Var中

时间:2013-10-15 12:33:15

标签: javascript jquery

我有复选框,其值我需要合成查询以将其发送到服务器端o按钮单击..如果选中该复选框,我需要将其添加到查询var else ignore .. 这是我的查询语法..

and toc='local' or toc='isd' .

这是我在html中的代码..

            <input type="checkbox" name="CallTypeLOCAL" id="local" value="'LOCAL'"/>LOCAL</label>
            <input type="checkbox" name="CallTypeSTD" id="std" value="'STD'"/>STD</label>
            <input type="checkbox" name="CallTypeISD" id="isd" value="'ISD'"/>ISD</label>
            <input type="checkbox" name="CallTypeINETCALL" id="inetcall" value="'INETCALL'"/>INETCALL</label>
            <input type="checkbox" name="CallTypeINCOMING" id="incoming" value="'INCOMING'"/>INCOMING</label>

欢迎任何帮助..

提前致谢..

2 个答案:

答案 0 :(得分:0)

实现此目的的一种优雅方法是将选中的值组合到位域中。我做了in this fiddle。关键是编写一个小布尔原型扩展来将bools转换为整数,然后根据需要左移结果

Boolean.prototype.intval = function(places)
{
 places = ('undefined' == typeof(places))?0:places; 
 return (~~this) << places
}

完成后你就完成了

var rslt = $('#local').is(':checked').intval();
rslt += $('#std').is(':checked').intval(1);
rslt += $('#isd').is(':checked').intval(2);
rslt += $('#inetcall').is(':checked').intval(3);
rslt += $('#incoming').is(':checked').intval(4);

答案 1 :(得分:0)

这样的事情怎么样?

$("input[type='checkbox']:checked").serialize();

这样可以获取所有选中复选框的名称值对。

但为什么不给所有这些复选框都是同一个类?这样你可以做这样的事情(假设你给了他们所有的class = someData):

    $(".someData:checked").serialize();

它们也被封装在表格中吗?然后你可以序列化整个表格,它将被正确编码并添加到帖子数据

这里有点fiddle