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

View Source を使用していれば、自分で問題を発見できたはずです ;)

于 2013-11-12T00:09:55.440 に答える
0

@adeneo のコメントを回答として投稿します。「一重引用符でそれを試しましたか -> value=''」 – adeneo

于 2013-11-12T01:08:16.680 に答える