选择的js未将选项标记为已选择

时间:2018-10-17 15:55:39

标签: form-submit jquery-chosen

我在MVC表单上放置了一个多选列表框,并设置了选择的js,我可以选择选项,但是当我提交表单时,没有值被提交,当我检查标记时,我知道选择的选项没有被标记如所选择的,所以期望在下面

<option value="1">Test 1</option>
<option value="2" selected>Test 2</option>
<option value="3" selected>Test 3</option>

但是我能看到的是如附图所示。

enter image description here

1 个答案:

答案 0 :(得分:0)

选择不会将selected属性添加到您的html中。如果需要找出选择了哪些值,请使用$(selector).val()

例如参见下文。在此示例中,我将初始化一个选定的multiselect并将其选定的值分配给某些输出以演示$(selector).val()

$(document).ready(function() {
  $(".chosen-select").chosen();

  $(".chosen-select").on("change", function() {
    let chosenVal = $(".chosen-select").val();
    $("#out").text(chosenVal);
  });
});
.chosen-select {
  width: 300px;
}
<link href="https://cdnjs.cloudflare.com/ajax/libs/chosen/1.8.7/chosen.css" rel="stylesheet" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/chosen/1.8.7/chosen.jquery.js"></script>

<select data-placeholder="Choose a Country..." class="chosen-select" multiple="">
  <option value=""></option>
  <option value="United States">United States</option>
  <option value="United Kingdom">United Kingdom</option>
  <option value="Afghanistan">Afghanistan</option>
  <option value="Aland Islands">Aland Islands</option>
  <option value="Albania">Albania</option>
  <option value="Algeria">Algeria</option>
</select>

<p id="out"></p>