问题描述
我有一个带有2个单选按钮的表格。 根据单选按钮,显示无序列表(使用js隐藏/显示)。 这可以按需工作。
该列表用于选择服务。 当我使用第一个单选按钮“ pre selected”选择服务时,它将始终传递第二个隐藏列表的第一个值。
如果我在2个单独的页面中应用列表,则一切正常。
我要实现的目标:1页,2个单选按钮,1个列表。 列表的选定值将传递给Paypal进行付款。
如您所见,我在两个列表中都填充了相同的字段,我相信通过这样做,无论选择哪个列表,它都将采用选定的值。
有人知道我的逻辑哪里错吗?
这是我的代码:
<div class="col-sm-12">
<div class="radio mt-20">
<label><input type="radio" name="optionsRadios" id="optionsRadios1" value="inh" checked onclick="show1();"> In-House service </label>
<label><input type="radio" name="optionsRadios" id="optionsRadios2" value="mob" onclick="show2();"> Mobile service</label>
</div>
</div>
<div class="col-sm-12">
<div class="form-group mb-10">
<div class="form-group">
<select name="form_massage" id="form_is" class="form-control">
<option value="In house Full body relax massage - €40">Full body relax massage - €40</option>
<option value="In house Full body strong massage - €45">Full body strong massage - €45</option>
<option value="In house Back and Neck massage - €20">Back and Neck massage - €20</option>
<option value="In house Back and Legs - €25">Back and Legs - €25</option>
<option value="In house Legs and Feet - €15">Legs and Feet - €15</option>
</select>
<select name="form_massage" id="form_ms" class="form-control hide">
<option value="Mobile - Full body relax massage - €50">Full body relax massage - €50</option>
<option value="Mobile - Full body strong massage - €55">Full body strong massage - €55</option>
<option value="Mobile - Back and Neck massage - €30">Back and Neck massage - €30</option>
<option value="Mobile - Back and Legs - €35">Back and Legs - €35</option>
<option value="Mobile - Legs and Feet - €20">Legs and Feet - €20</option>
</select>
</div>
</div>
</div>
</div>
解决方法
具有相同名称的第二个选择(或输入)实质上会覆盖第一个选择(或输入),从而使其与提交时的表单输入无关。
如果希望第一个作为表单输入起作用,则需要使用不同的名称。
对于您的用例,最简单的解决方案可能是将所有选项合并为单个选择,并为它们提供一个与您希望在什么时候可见的选项相对应的类(例如,class = inh,class = mob)。然后让您的JS代码显示/隐藏选项,并按类别选择它们。