在我的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
答案 0 :(得分:0)
我认为,您不希望json_encode
因为变量$data['id']
不是数组而只是字符串或数字。此外,您还使用单引号和双引号来包装只执行任务的值。
name="<?php echo $data['id']; ?>"
而不是
name="'<?php echo json_encode($data['id']); ?>'"