当按下提交按钮时,我需要帮助将多选中的选定数据放入javascript数据字符串中。
所以我有这个选择:
<select multiple class="form-control" name="DivisionSelect[]">
<option value="|TD">Traffic Division</option>
<option value="|CP">Metro - C Platoon</option>
<option value="|DP">Metro - D Platoon</option>
</select>
我希望所选的数据彼此像这样排成一行:如果选择了“交通”和“ D排”,则为“ | TD | DP”。我怎样才能做到这一点?
最佳答案
您可以对join()
值使用select
并将其添加到字符串。
$('select').change(function() {
var str = '&Divs="' + $(this).val().join('') + '"';
console.log(str)
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select multiple class="form-control" name="DivisionSelect[]">
<option value="|TD">Traffic Division</option>
<option value="|CP">Metro - C Platoon</option>
<option value="|DP">Metro - D Platoon</option>
</select>
要在表单提交中获取此值,可以在
submit
上使用form
事件,并使用select
获取find
的值$('form').submit(function(e) {
e.preventDefault();
var value = $(this).find('select[name="DivisionSelect[]"]').val();
var str = '&Divs="' + (value ? value.join('') : '') + '"';
console.log(str)
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form action="">
<select multiple class="form-control" name="DivisionSelect[]">
<option value="|TD">Traffic Division</option>
<option value="|CP">Metro - C Platoon</option>
<option value="|DP">Metro - D Platoon</option>
</select>
<br>
<input type="submit" value="Submit">
</form>
关于javascript - 在提交时从JavaScript中的多个选择中获取数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43656350/