复选框ajax数据

时间:2017-01-17 12:59:38

标签: javascript jquery ajax

我有复选框,想要发送值复选框(0或1),并且在某个操作上单击复选框的实体

        <input class="searchType" type="checkbox" name="SharingNotification" id={{ taskExecution.id }}>
        <label class="searchtype2label">{{ taskExecution.id }}</label>
    </input>


$('.searchType').click(function(event) {
    if(this.checked){
        $.ajax({
            type: "POST",
            url: '/app_dev.php/api/customer/customers',
            data: {
                id: event.target.id,
                value: event.target.value
            },,
            success: function(data) {
                alert('it worked');
                alert(data);
                $('#container').html(data);
            },
            error: function() {
                alert('it broke');
            },
            complete: function() {
                alert('it completed');
            }
        });

    }
});

in action in action

request = {Symfony\Component\HttpFoundation\ParameterBag} [1]
 parameters = {array} [2]
  id = "1"
  value = "on"

我试试这个

event.target.id
"1"
event.target.value
"on"

但为什么&#34; on&#34;我认为可以是1或0

如何发送密钥(id entity)=&gt;等数据值(值复选框)?

2 个答案:

答案 0 :(得分:3)

您可以像这样创建要发送的对象:

var objToSend = {};
objToSend[$(this).attr('id')] = $(this).is(":checked");

并发送您的数据

data: objToSend 

答案 1 :(得分:1)

在这种情况下,您应该使用dictionary并将其发送到code-behind

var dictionary= {};
dictionary[$(this).attr('id')] = $(this).is(":checked")==true? 1:0;

并将其传递给ajax这样的数据:

data:dictionary