当按下提交按钮时,我需要帮助将多选中的选定数据放入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/

10-10 00:18
查看更多