是否可以从不同页面上的表单/下拉菜单更改“li”或其他 html 元素的类?
有什么想法吗?
示例:
后端表单:
Image 1
Image 2
Image 3
none - selected
前端html文件:
<li id="image1" class"hide"> </li>
<li id="image2" class"hide"> </li>
<li id="image3" class"hide"> </li>
后端表单(选择的选项):
Image 1 - selected
Image 2
Image 3
前端html文件:
<li id="image1" class"show"> </li>
<li id="image2" class"hide"> </li>
<li id="image3" class"hide"> </li>
CSS
.hide {
display: none;
}
.show {
display: inline-block;
}
最佳答案
这是可能的,当然。这取决于你到底想用它做什么。由于您标记了 php
,我将继续使用它,但如果不需要永久使用 JavaScript,您也可以使用它。
您可能想要做的是将图像的所有路径与元信息一起存储在数据库中;为了简单起见,我们只使用您的 class
和 id
:
ID IMAGE CLASS
1 'images/image1.png' hide
2 'images/image2.png' hide
N 'images/imageN.png' hide
从那里你可以回显每个元素的类而不是硬编码,可能使用 foreach
:
<image class='<?= $imageClass ?>' src='<?= $imageSrc ?>' />
然后您的图片下拉菜单可能看起来像这样:
<form method='post' action='action.php'>
<select name='<?= $imageID ?>'>
<option value='show'>Show</option>
<option value='hide'>Hide</option>
</select>
<button type='submit'>Change class</button>
</form>
这会将选择发送到 action.php
。反过来,该文件将更新 images
,可能使用 SQL 查询:
$query = "UPDATE images SET class = :imageClass WHERE id = :imageID";
然后您可以使用脚本将浏览器 header 返回到您需要的任何页面,以便在不刷新浏览器的情况下进行设置。
不幸的是,这个问题有点含糊,所以如果不写一篇更长的文章,我也无能为力。希望这能让您了解它的工作原理。
关于php - 从不同页面上的 PHP 表单更改 HTML 元素类 - 自定义 CMS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20050589/