有没有办法切换显示/隐藏在php循环中动态填充的数据?
我一直在努力寻找最好的方法来做到这一点,但我只是觉得我不知道做这项工作,我不确定最佳做法是什么。
情况如下:
我以为我可以做一个jquery显示/隐藏按钮的事情,但我无法让它工作。这是代码 - 并注意这是所有开发,而不是所有安全功能都在这里。我这样说是因为不可避免地有人会对会话或转义字符串等进行评论。
<?php
include_once('xxx.php');
$conn = new connectorfunction();
$query = "SELECT * FROM tablename ORDER BY abstract_id";
$result = mysql_query($query);
$numfields = mysql_num_fields($result);
$data = array();
$flist = array();
for($i=0;$i<$numfields;$i++)$flist[] = mysql_field_name($result,$i);
$data[0] = $flist;
while($row = mysql_fetch_assoc($result)){
$data[] = $row;
print '
<tr>
<td>
<span style="text-decoration: underline">Author:</span>
<br />
' . $row['abstract_author'] .'
</td>
<td>
<span style="text-decoration: underline">Title:</span>
' . $row['presentation_title'] . '
<br />
<button>View/Assign</button>
</td>
<td>
';
if ($row['abstract_category'] === NULL ) {
print '
Needs Session
';
}
else {
print '
Assigned
';
}
print'
<tr style="display:none;">
<td colspan="3">
'. $row['abstract_text'] .'
</tr>
<tr style="display:none;">
<td colspan="3">
<form action="assign_session.php" method="post" id="form">
<label for="abstract_category">Assign Session:
<input type="hidden" name="abstract_id" value="'. $row['abstract_id'] .'" />
<input type="radio" name="abstract_category" value="session1" />Session One
<input type="radio" name="abstract_category" value="session2" />Session Two
<input type="radio" name="abstract_category" value="notapplicable" />Not Applicable
<button type="submit" formaction="assign_session.php">Assign</button></label>
</form>
</td>
</tr>
';
}
?>
所以你可以看到,有一个按钮:&lt;按钮&gt;查看/分配&lt; /按钮&gt;
有两个&lt; tr>使用“display:none”样式。
该表在填充时看起来非常棒,我只需要管理员查看抽象文本的好方法,但我似乎无法成功指向php中的jquery函数。有关处理此问题的最佳方法的任何建议吗?
答案 0 :(得分:1)
这样的东西? demo
example:<br />
<button onClick="$('.hide').toggle();">click me</button>
<table>
<tr style="display:none;" class="hide">
<td colspan="3">abstract text</td>
</tr>
<tr style="display:none;" class="hide">
<td colspan="3">
<form action="assign_session.php" method="post" id="form">
<label for="abstract_category">Assign Session:</label>
<input type="hidden" name="abstract_id" value="'. $row['abstract_id'] .'" />
<input type="radio" name="abstract_category" value="session1" />Session One
<input type="radio" name="abstract_category" value="session2" />Session Two
<input type="radio" name="abstract_category" value="notapplicable" />Not Applicable
<button type="submit" formaction="assign_session.php">Assign</button></label>
</form>
</td>
</tr>
</table>
我使用jquery来切换(显示/隐藏)你需要显示/隐藏的元素。
此外,您在此代码中有多个错误(例如,您没有关闭第一个td,没有以正确的方式使用标签)。
答案 1 :(得分:0)
你可以使用jquery做这样的事情
假设您单击显示
$('#my_button').click(function(){
$('#hidden_div').val('hidden',false);});
或CSS
$('#my_button').click(function(){
$('#hidden_div').css('display','all');});