这是我的脚本中改变我的选择值的一部分:
document.getElementById('poids').innerHTML = '<select onchange="peso();" class="form-control" required name="cat_poid"><option value="">Selectioner le poids</option><option value="-24">-24</option><option value="-29">-29</option><option value="-35">-35</option><option value="-41">-41</option><option value="+41">+41</option></select>';
Html:
<b>Poids: <div id="poids"><select class="form-control" name="cat_poid" required><option value="1">Selectioner le poids</option></select></div></b>
我的问题是我正在创建一个Form,我选择了值将会改变。 所以为了改变我使用innerHTML的值,它工作得很好。但是这些价值不会发布到下一页,表格会被提交。
调用脚本后,我的DIV内容会发生变化,并且我拥有所需的值。看起来不可能发布来自innerHTML的值。
任何人都可以帮忙吗?
答案 0 :(得分:0)
要更新select
的所选项目,您必须将其selectedIndex
设置为0。另外,要添加/删除项目,您必须创建DOM option
元素并添加它们,或者完全更新select
元素:
<div id="container">
<select id="select" name="weight">
<option>select the weight</option>
...
</select>
</div>
在JS中操纵它:
// update with innerHTML:
document.getElementByID('container').innerHTML = '<select...>...</select>';
// or add an item with DOM model:
var option = document.createElement('option');
option.text = '35-40';
option.value = '35-40';
document.getElementByID('select').add(option);
// to select a specific option:
document.getElementByID('select').selectedIndex = 1; // selects the 2nd option
答案 1 :(得分:0)
不要完全改变div的innerHTML。只是尝试添加或删除选项。
答案 2 :(得分:0)
我可以创建一个&#34;脏解决方案&#34; ......它非常丑陋,我相信有更好的方法可以做到这一点。 由于我发布到下一页但不可能获得价值我做了类似的事情:
刚刚将其添加到我的表单中:
<input type="hidden" name="peso">
的javascript:
function peso(){
var elem = document.getElementById("peso");
var pesos = document.getElementById("cat_poid").value;
elem.value = pesos;
};
我的innerHTML:
document.getElementById('poids').innerHTML = '<select onchange="peso();" class="form-control"
required name="cat_poid"><option value="">Selectioner le poids</option><option
value="-24">-24</option><option value="-29">-29</option></select>';
和下一页
$poid = $_POST['peso'];
但如果我尝试获得类似$ _POST [&#39; cat_poid&#39;]的价值;我什么都没有......我甚至使用FireFox的TemperData来准确地编辑POST值,而且没有cat_poid。
奇怪,但是&#34;脏解决方案&#34;工作
谢谢大家!!!!解决了^^