0

我正在尝试获取复选框控件的 value 属性以包含 simpleXML 对象的 php json_encode()。

我已经为复选框尝试了这个:

<input type="checkbox" name="select_comparable" value="<?php json_encode($comp); ?>">

我用这个 jQuery 将它传递给控制器​​:

    $("input[name^=select_]").on( "click", function(){
    alert($(this).data('value'))
    comp.simpleXML = $(this).val();
    selected.push(comp);
  });

  $("#btnSave").click(function(){
    //alert(selected[0]);

    $.ajax({
      url: "/comparable/save",
      type:"POST",
      dataType: 'json',
      data: {"data": selected},
      success: function(data) {
        if (data.success) {
          alert("saved!");
        } else {
          alert("not saved!");
        }
      },
    });
  });

但是当我查看我的控制器时,我得到的只是“{”。

4

2 回答 2

1

问题是 JSON 使用"很多:字符串和对象属性值都用双引号括起来。

为了将 JSON 放入 HTML 属性中,您必须通过htmlspecialchars.

如果您使用查看源代码,您可能会自己发现问题;)

于 2013-11-12T00:09:55.440 回答
0

发布@adeneo 的评论作为答案。“你用单引号试过了吗 -> value=''” – adeneo

于 2013-11-12T01:08:16.680 回答