我会尽力澄清:我有两个 html,一个有表单,另一个有复选框,我希望它取决于表单 html 中放入的值(我不知道这样称呼是否正确),有些复选框显示为选中或其他。
例如,
if i select 'Desserts' and I click on the 'go' button I will go to the other page, where the checkboxes are, so 'Desserts' checkbox will appear checked.
我尝试做很多事情,但没有。 非常感谢!
HTML 1:
<table id="CategoriesTable">
<tr>
<td>
<form id="categoriesForm" method="POST">
<input type="text" id = "categoriesList" list="categorieslist" name="categories-scroll" placeholder="Type a category.." style="border-radius: 0.5rem;border-width: 0.5px;">
<datalist id="categoriesDatalist">
<option data-value="Desserts"></option>
<option data-value="Starters"></option>
<option data-value="Main"></option>
<option data-value="Soups"></option>
<option data-value="Salad"></option>
<option data-value="Burgers"></option>
</datalist>
</form>
</td>
<td>
<button id ="go-button" class="btn btn-primary" data-dismiss="modal">
<h6 class="text">Go!</h6>
<img class="img-fluid rounded" src="../images/icons/pizza-go.png" alt="" width="50%" style="height: 50px; width: 50px;">
</button>
</td>
</tr>
</table>
HTML 2:
<h5 class="card-header">Categories</h5>
<div class="containersearch">
<ul class="ks-cboxtags">
<li><input type="checkbox" id="checkbox9" value="Desserts"><label for="checkbox9">Desserts</label></li>
<li><input type="checkbox" id="checkbox10" value="Starters" ><label for="checkbox10">Starters</label></li>
<li><input type="checkbox" id="checkbox11" value="Main" ><label for="checkbox11">Main</label></li>
<li><input type="checkbox" id="checkbox12" value="Soups"><label for="checkbox12">Soups</label></li>
<li><input type="checkbox" id="checkbox13" value="Salad"><label for="checkbox13">Salad</label></li>
<li><input type="checkbox" id="checkbox14" value="Burgers"><label for="checkbox14">Burgers</label></li>
</div>
最佳答案
2种可能的解决方案
如果你坚持只使用 HTML 和 JavaScript (并且由于某种原因没有服务器端脚本 - 使用 PHP 会非常容易) 我在这里看到两种合理的方法,第一个是我更愿意。
GET 方法
一种方法是使用 get 请求而不是 post。这样,您就可以从location.search
字符串中获取所选变量,然后使用它来定位您的复选框。 (您必须从通常的?a=1&b=2
格式解析字符串,但这很容易,尤其是当您知道要传递的内容时。)所以 this is one way .LocalStorage
另一种方法是将选择存储在 localStorage 中,然后在下一页上读取它。我不建议这样做,但如果您确实需要 POST 进行 POST,这可能是您在文档之间传递值的唯一机会。
示例
对于第一个解决方案:
https://deneskellner.com/stackoverflow-examples/60238730/page1.html
page1.html
<form name="myform" action="page2.html">
<select name="chosen">
<option value="yoda"> Master Yoda </option>
<option value="anie"> Anakin Skywalker </option>
<option value="obwn"> Obi-Wan Kenobi </option>
</select><br>
<button type="submit"> Check me on the other side </button>
</form>
page2.html
<input type="checkbox" id="yoda" /> Master Yoda <br>
<input type="checkbox" id="anie" /> Anakin Skywalker <br>
<input type="checkbox" id="obwn" /> Obi-Wan Kenobi <br>
<script>
var pieces = location.search.replace(/^\?/,"").split("&");
var values = [];for(var i in pieces) {let a=pieces[i].split("=");values[a[0]]=a[1];}
var chosen = values["chosen"];
document.getElementById(chosen).checked = true;
</script>
<button type="button" onclick="history.back()"> Let's do it again </button>
关于javascript - 如何根据所选的数据列表选项选择复选框(不同页面),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60238730/