这是两个具有相同名称的选择框,任何一个都可以指导我如何将两个选择框的值作为一个数组传递给一个
<select multiple="multiple" name="servicetypes[]" id="servicetypes" class="form-control">
<option value="">-- Choose Service Areas --</option>
<option value="1">all over `enter code here`Andhrapredesh</option>
<option value="11">asia</option>
<option value="12">North-South America</option>
</select>
<select multiple="multiple" name="servicetypes[]" id="servicetypes" class="form-control">`enter code here`
<option value="">-- Choose Service Areas --</option>
<option value="1">all over Andhrapredesh</option>
<option value="11">asia</option>
<option value="12">North-South America</option>
</select>
答案 0 :(得分:0)
对于表单中的两个不同输入/选择,始终使用不同的名称或ID。发布表单时,您将获得数组格式的值。并且由于您使用了相同的名称,因此从两个选择框中选择的所有值都将在相同的名称数组中,称为servicetypes []。
答案 1 :(得分:0)
我希望这会对您有所帮助。
$(document).on('change', 'select[name="servicetypes[]"]', function(){
var selectedValues = {};
$('select[name="servicetypes[]"]').each(function(){
var text = $(this).children("option").filter(":selected").text();
var value = $(this).val();
selectedValues[text] = value;
});
var textValue = $('#servicetypesArray').val(selectedValues);
alert(JSON.stringify(selectedValues, null, 4));
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<select multiple="multiple" name="servicetypes[]" id="servicetypes" class="form-control">
<option value="">-- Choose Service Areas --</option>
<option value="1">all over Andhrapredesh</option>
<option value="11">asia</option>
<option value="12">North-South America</option>
</select>
<select multiple="multiple" name="servicetypes[]" id="servicetypes" class="form-control">`enter code here`
<option value="">-- Choose Service Areas --</option>
<option value="1">all over Andhrapredesh</option>
<option value="11">asia</option>
<option value="12">North-South America</option>
</select>
<input type="text" id="servicetypesArray" name="data[servicetypes][]" value="" hidden/>
您将把值存储在名为“ servicetypes”的多维数组中
这里是CODEPEN Demo
答案 2 :(得分:0)
我有一种不涉及任何javascript代码伙伴的方式。
首先,您需要使用不同的名称来选择表单元素。
<select multiple="multiple" name="servicetypes1[]" id="servicetypes" class="form-control">
<option value="">-- Choose Service Areas --</option>
<option value="1">all over `enter code here`Andhrapredesh</option>
<option value="11">asia</option>
<option value="12">North-South America</option>
</select>
<select multiple="multiple" name="servicetypes2[]" id="servicetypes" class="form-control">`enter code here`
<option value="">-- Choose Service Areas --</option>
<option value="1">all over Andhrapredesh</option>
<option value="11">asia</option>
<option value="12">North-South America</option>
</select>
然后在您的php代码中按以下步骤进行操作。
if (isset($_POST)) {
$select = array_merge($_POST['servicetypes1'], $_POST['servicetypes2']);
// The rest of your code here....
}
将两个帖子数组合并为一个。希望这会有所帮助!