类似于这样的HTML提交表格,用js拼接后提交,
但是总是顾得了头顾不了屁股的样子。部分代码如下
<div data-role="fieldcontain" class="section">
<label for="shop_close1">
<span class="inputType">选择1</span>
</label>
<select name="shop_close1" id="shop_close1" data-inline="true" required onchange="spMul.style.display=this.options[this.selectedIndex].id=='day'?'':'none'; goFunction(event,1)">
<option>狗</option>
<option>牛</option>
<option>猪</option>
<option>羊</option>
<option>猫</option>
<option id="day">一</option>
<option id="day">二</option>
<option id="day">三</option>
<option id="day">四</option>
<option id="day">五</option>
<option id="day">六</option>
</select>
</div>
<span id="spMul" style="display:none; column-count: 3">
<div data-role="fieldcontain" class="section">
<label class="ui-select">
<span class="inputType">选择2</span>
</label>
<select name="shop_close2" id="shop_close2" data-line="true" onchange="goFunction(event,2)">
<option>上</option><option>下</option><option>左</option><option>右</option>
<option>北</option><option>西</option><option>右</option><option>东</option>
</select>
</div>
</span>
</div>
<input type="hidden" name="shop_close" id="shop_close" value="" />
javascript部分目前如下
function goFunction(e, n) {
let o="", p="";
if (n === 1) {
o = e.target.value;
}
if (n === 2) {
p = e.target.value;
}
document.getElementById("shop_close").value = o + "・" + p;
}
在这里出现了问题,如果说一开始定义 let o 和 p 为空的话,当触发spMul的时候,id=day的option不能显示 比如选择"三 · 右" 的时候, "三"不能被显示。
而如果不定义变量o p的话,当触发spMul的时候可以显示完整, 但是如果不去触发spMul单,选择第一个select里面的id不为day的option的时候,没有值被传递 (狗牛猪羊猫),
能否请教这一问题的原因如何解决,谢谢!