通过附加到html的javascript中的名称传递php变量

时间:2014-09-30 09:02:08

标签: javascript jquery

在我的js函数中的这一行代码中,我试图通过name属性传递数据库表中的id。

但是它破坏了我的javascript而没有正确传递。

$("#a"+$selected.val()).append('<input type="hidden" name="'<?php echo json_encode($data['id']); ?>'" value="'+$selected.text()+'">');

全面了解问题:

$(function() {
$("#event").hide();
$("#events").hide();
$("#myselect select").change(function() {
var $selected = $('#myselect select option:selected');
if (!$selected.hasClass('added')) {
  $('<li />', {
    'data-value': $selected.val(),
    id:'a'+$selected.val(),
    text: $selected.text()
  }).appendTo('#events');
  $selected.addClass('added');
  $("#a"+$selected.val()).append('<input type="hidden" name="'<?php echo json_encode($data['id']); ?>'" value="'+$selected.text()+'">');
}

$("#event").show();
$("#events").show();


});
});

更新:

console.log('<?php echo $data['id']; ?>');

输出:

Resource interpreted as Image but transferred with MIME type text/html: "http://localhost:8809/locations". jquery.js:3492(anonymous function) jquery.js:3492fire jquery.js:3048self.fireWith jquery.js:3160jQuery.extend.ready jquery.js:433completed

1 个答案:

答案 0 :(得分:0)

我认为,您不希望json_encode因为变量$data['id']不是数组而只是字符串或数字。此外,您还使用单引号和双引号来包装只执行任务的值。

name="<?php echo $data['id']; ?>"

而不是

name="'<?php echo json_encode($data['id']); ?>'"