0

我有复选框,我需要将其值格式化为查询以将其发送到服务器端o按钮单击..如果选中复选框,我需要将其添加到查询变量中,否则忽略..这是我的查询语法..

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>

欢迎任何帮助..

提前致谢..

4

2 回答 2

0

完成此操作的一种优雅方法是将检查的值组合到一个位域中。我在这个小提琴中做到了这一点。关键是编写一个小布尔原型扩展来将布尔转换为整数,然后根据需要左移结果

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);
于 2013-10-15T12:47:27.117 回答
0

这样的事情怎么样?

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

这将有助于获取所有选中的复选框的名称值对。

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

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

它们也包含在表格中吗?然后你可以序列化整个表单,它会被正确编码并添加到发布数据中

这是一个小小提琴

于 2013-10-15T12:52:05.930 回答