我试图用ajax发布电影的描述。我有一些电影,每部电影都有一个id为“button_id”的按钮,当我点击这个按钮时,我得到了电影的描述。问题是我只能获得第一部电影的描述。当我点击另一部电影的按钮时,它什么也没做。我做错了什么?
var id = $('#form_index input[name=id]').val();
$('#button_'+id).click(function() {
$.ajax({
url: 'description.php',
type: 'POST',
data: {
id: id
},
success: function (result) {
$('#more_content').html(result);
}
});
<?php foreach ($positions as $p):?>
<div id="more_content"></div>
<form id="form_index" method="post" action="">
<input type="hidden" name="id" value="<?=$p["id"]?>" />
</form>
<button id="button_<?=$p["id"]?>">Me shume<button>
<?php endforeach?>
答案 0 :(得分:0)
你的foreach循环将创建no。表单中的所有表单都具有相同的id“form_index”,这是错误的。
答案 1 :(得分:0)
为什么不使用“this”参数添加按钮功能,这是我的编码试试这个:
function send_movie_name(movie_name) {
var movie=movie_name.id;
$.ajax({
url: 'description.php',
type: 'POST',
data: { id:movie},
success: function (result) {
$('#more_content').html(result);
}
});
<div id="more_content"></div>
<form id="form_index" method="post" action="">
<input type="hidden" name="id" value= <?=$p["id"]?>"/>
</form>
<button id="button_<?=$p['id']?>" onclick="send_movie_name(this)">Me shume<button>
<强>描述强>
I add one function with your button called
send_movie_name(MOVIE_NAME)
其中movie_name参数代表 this ,我们每次都会发送不同的id。
在ajax数据传递中,我将id:id更改为id:movie,其中movie包含id / movie名称。
希望它能运作
谢谢
chinmoy