Php 在循环数据内选择选项时显示div
我有php代码:Php 在循环数据内选择选项时显示div,php,jquery,html,mysql,ajax,Php,Jquery,Html,Mysql,Ajax,我有php代码: <?php $produk = mysql_query("SELECT * FROM produk ORDER BY id_produk DESC"); while($p=mysql_fetch_array($produk)){ <select name='urutan' onChange='yesnoCheck(this);'> <option value='yes' selected>Yes</option>
<?php
$produk = mysql_query("SELECT * FROM produk ORDER BY id_produk DESC");
while($p=mysql_fetch_array($produk)){
<select name='urutan' onChange='yesnoCheck(this);'>
<option value='yes' selected>Yes</option>
<option value='no'>No</option>
</select>
<div id='ifY' style='display: none;'>
<input type=submit value=submit class=ui-btn-primary>
</div>
<div id='ifN' style='display: none;'>
<input type=submit value=submit class=ui-btn-primary>
</div>
}
我想像这样的东西会有帮助的。此外,id应该始终是唯一的使用类 PHP代码和html
<?php
$produk = mysql_query("SELECT * FROM produk ORDER BY id_produk DESC");
while($p=mysql_fetch_array($produk)){ ?>
<div> // new div added here.
<select name='urutan' onChange='yesnoCheck(this);'>
<option value='yes' selected data-selector="ifY">Yes</option> // added new data-selector attribute.
<option value='no' data-selector="ifN">No</option>
</select>
<div class='ifY commonclass' style='display: none;'> // changed id to class and added a commonclass to get all divs.
<input type=submit value=submit class=ui-btn-primary>
</div>
<div class='ifN commonclass' style='display: none;'>
<input type=submit value=submit class=ui-btn-primary>
</div>
</div>
<?php } ?>
试试这个,这个应该有用
<?php
$produk = mysql_query("SELECT * FROM produk ORDER BY id_produk DESC");
$i = 0;
while($p=mysql_fetch_array($produk)){ ?>
<select name='urutan' onChange='yesnoCheck(this,<?= $i ?>);' rel="<?= $i ?>">
<option value='yes' selected>Yes</option>
<option value='no'>No</option>
</select>
<div id="ifY<?= $i ?>" style='display: none;'>
<input type=submit value=submit class=ui-btn-primary>
</div>
<div id="ifN<?= $i ?>" style='display: none;'>
<input type=submit value=submit class=ui-btn-primary>
</div>
<br>
<?php $i++; } ?>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script>
function yesnoCheck(that,i) {
if (that.value == "yes") {
$("#ifY" + i).css("display","block")
$("#ifN" + i).css("display","none")
} else if (that.value == "no"){
$("#ifY" + i).css("display","none")
$("#ifN" + i).css("display","block")
}
}
为div使用动态ID和名称,并使用计数器变量选择元素
PHP代码
<?php
$produk = mysql_query("SELECT * FROM manufacturer ORDER BY id DESC limit 5");
$i = 1;
while($p=mysql_fetch_array($produk))
{
?>
<select name='urutan<?php echo $i?>' id="urutan<?php echo $i?>" onChange='yesnoCheck("<?php echo $i?>");'>
<option value='yes' selected>Yes</option>
<option value='no'>No</option>
</select>
<div id='ifY<?php echo $i?>' style='display: none;'>
<input type=submit value=submit class=ui-btn-primary>
</div>
<div id='ifN<?php echo $i?>' style='display: none;'>
<input type=submit value=submit class=ui-btn-primary>
</div>
<?php
$i++;
}
?>
您正在为每个获取的$produk创建两个div,这样您就不能使用id='ifY'和id='ifN',因为会有重复的id。我明白了,那么我该怎么办?在为div分配id时,仍然混淆了php文件中的一些数字,并在YesCheck(this,$i)中添加了额外的参数,比如这样,以及在访问document.getElementById(“ifN”+number)时.style.display=“无”;所以每个div都有独特的id@WisdmLabs答案是一个很好的选择。您在控制台中遇到了什么错误?总是对你所犯的错误做出回应,这样别人就很容易帮助你。
<?php
$produk = mysql_query("SELECT * FROM produk ORDER BY id_produk DESC");
$i = 0;
while($p=mysql_fetch_array($produk)){ ?>
<select name='urutan' onChange='yesnoCheck(this,<?= $i ?>);' rel="<?= $i ?>">
<option value='yes' selected>Yes</option>
<option value='no'>No</option>
</select>
<div id="ifY<?= $i ?>" style='display: none;'>
<input type=submit value=submit class=ui-btn-primary>
</div>
<div id="ifN<?= $i ?>" style='display: none;'>
<input type=submit value=submit class=ui-btn-primary>
</div>
<br>
<?php $i++; } ?>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script>
function yesnoCheck(that,i) {
if (that.value == "yes") {
$("#ifY" + i).css("display","block")
$("#ifN" + i).css("display","none")
} else if (that.value == "no"){
$("#ifY" + i).css("display","none")
$("#ifN" + i).css("display","block")
}
}
<?php
$produk = mysql_query("SELECT * FROM manufacturer ORDER BY id DESC limit 5");
$i = 1;
while($p=mysql_fetch_array($produk))
{
?>
<select name='urutan<?php echo $i?>' id="urutan<?php echo $i?>" onChange='yesnoCheck("<?php echo $i?>");'>
<option value='yes' selected>Yes</option>
<option value='no'>No</option>
</select>
<div id='ifY<?php echo $i?>' style='display: none;'>
<input type=submit value=submit class=ui-btn-primary>
</div>
<div id='ifN<?php echo $i?>' style='display: none;'>
<input type=submit value=submit class=ui-btn-primary>
</div>
<?php
$i++;
}
?>
<script>
function yesnoCheck(id)
{
var that = document.getElementById("urutan"+id);
/*if (that.value == "other") {
document.getElementById("ifNon"+id).style.display = "block";
} else {
document.getElementById("ifNon"+id).style.display = "none";
}*/
if (that.value == "yes") {
document.getElementById("ifY"+id).style.display = "block";
} else {
document.getElementById("ifY"+id).style.display = "none";
}
if (that.value == "no") {
document.getElementById("ifN"+id).style.display = "block";
} else {
document.getElementById("ifN"+id).style.display = "none";
}
}
</script>