我可以使用一个名称传递多个复选框值吗?

Pau*_*aul 6 javascript jquery twitter-bootstrap

我正在使用Twitter的引导程序,需要将一个带分隔符的复选框选项列表传递给我的服务器进行处理.复选框HTML如下所示:

<div class="controls">
    <label class="checkbox"><input type="checkbox" name="my_match[]" value="190">TEST 190</label>
    <label class="checkbox"><input type="checkbox" name="my_match[]" value="200">TEST 200</label>
    <label class="checkbox"><input type="checkbox" name="my_match[]" value="210">TEST 210</label>
</div>

...

$.post("form.php", $("#form_id").serialize(), function(){
    ...
});
Run Code Online (Sandbox Code Playgroud)

我使用jquery将表单值作为序列化字符串传递,但值的发送方式如下:

my_match=190&my_match=200
Run Code Online (Sandbox Code Playgroud)

是否可以按以下格式发送它们?

my_match=190:200
Run Code Online (Sandbox Code Playgroud)

我不确定我是否需要更改我的HTML或者这是我需要用javascript处理的东西.有什么想法吗?

nam*_*uol 12

像这样的东西可以做到这一点:

<div class='controls'>
    <label class="checkbox">
        <input type="checkbox" name="my_match[]" value="190">TEST 190</label>
    <label class="checkbox">
        <input type="checkbox" name="my_match[]" value="200">TEST 200</label>
    <label class="checkbox">
        <input type="checkbox" name="my_match[]" value="210">TEST 210</label>
</div>

<form>
    <input id='my_match' type='hidden' name='my_match[]' />
    <button>Submit</button>
</form>
Run Code Online (Sandbox Code Playgroud)
$('form').submit(function() {
    var arr=[];

    $('input:checked[name=my_match[]]').each(function(){
        arr.push($(this).val());
    });

    $('#my_match').val(arr.join(':'));
    alert($('#my_match').val());

    // Prevent actual submit for demo purposes:
    return false;
});
?
?
Run Code Online (Sandbox Code Playgroud)

尝试取出了小提琴


编辑:这基本上就是Chase在他的回答中描述的内容.