Javascript 为什么我没有使用ajax从按钮获取动态值
我创建了一个动态按钮,并使用ajax在单击时调用它。当每个按钮被点击时,它会从一个网站获取一个项目列表,这使它成为动态的Javascript 为什么我没有使用ajax从按钮获取动态值,javascript,php,html,ajax,Javascript,Php,Html,Ajax,我创建了一个动态按钮,并使用ajax在单击时调用它。当每个按钮被点击时,它会从一个网站获取一个项目列表,这使它成为动态的 foreach($items as $item_link){ $i++; $item_name = $name[$i]; <button type="button" id="btn" name="btn" value="'.$item_link[$i].'" onclick= " getItem(this.value);">'.$item
foreach($items as $item_link){
$i++;
$item_name = $name[$i];
<button type="button" id="btn" name="btn" value="'.$item_link[$i].'" onclick= " getItem(this.value);">'.$item_name.'</button>
}
foreach($items作为$item\u链接){
$i++;
$item_name=$name[$i];
“.$item_name”
}
我注意到,当单击每个按钮时,它只返回相同的值,而不是动态返回按钮的不同值。
我的问题是:原因可能是什么?虽然按钮不是表单,但这也是原因吗?有两种方法,我更喜欢这种方法:-
<button onclick="fun('<?=$name?>')">click me</button>
1.最初和在foreach()
中也将按钮id
更改为class
2.你没有回显你的按钮,所以我认为它根本不会出现。所以echo
it和sorrund按钮加引号
正确的代码:-
foreach($items作为$item\u链接){
$i++;
$item_name=$name[$i];
回显“.$item_name.”;
}
注意:-
每个元素的id必须是唯一的,否则当您在jquery中使用它时,您将始终获得第一个元素数据。一个问题是,您对所有按钮使用相同的id,这将给浏览器带来意外行为。您需要更改以下内容:
foreach($items as $item_link){
$i++;
$item_name = $name[$i];
<button type="button" id="'.$item_link[$i].'" name="btn" value="'.$item_link[$i].'" onclick= " getItem(this.value);">'.$item_name.'</button>
}
foreach($items作为$item_链接){
$i++;
$item_name=$name[$i];
“.$item_name”
}
或者干脆去掉ID并使用类来代替创建具有重复的ID
的动态元素可能会导致多个问题,但我看不出您试图在何处附加此按钮。您甚至还没有将其存储到变量中,因此当源代码运行时,它将抛出语法错误。我建议您格式化问题中的源代码,这样就不会误导任何人,让他们认为您正试图执行问题中的脚本。1。将id=“btn”
转换为class=“btn”
,因为id
需要每个元素都是唯一的。2.单击按钮获取什么数据(添加该代码以便我们检查)。3.为了更加清晰,还添加了HTML部分
foreach($items as $item_link){
$i++;
$item_name = $name[$i];
<button type="button" id="'.$item_link[$i].'" name="btn" value="'.$item_link[$i].'" onclick= " getItem(this.value);">'.$item_name.'</button>
}