SumoSelect 未选择数组中的所有值

Posted

技术标签:

【中文标题】SumoSelect 未选择数组中的所有值【英文标题】:SumoSelect not selecting all values in array 【发布时间】:2018-06-29 03:44:04 【问题描述】:

我正在使用SumoSelect。我有一组值可供选择。

var physicianIds = [10,11,12,13];

这是html

<select class="form-control SumoUnder" id="PhysicianID" multiple="multiple" name="CycleDetails.ProcedureRoomPhysicianIds">
    <option value="1">MD01</option>
    <option value="10">MD10</option>
    <option value="11">MD11</option>
    <option value="12">MD12</option>
    <option value="13">MD13</option>
    <option value="14">MD14</option>
    <option value="15">MD15</option>
    <option value="16">MD16</option>
    <option value="17">MD17</option>
    <option value="18">MD18</option>
    <option disabled="disabled" value="19">MD19</option>
    <option value="2">MD02</option>
    <option disabled="disabled" value="20">MD20</option>
    <option value="3">MD03</option>
    <option value="4">MD04</option>
    <option value="5">MD05</option>
    <option value="6">MD06</option>
    <option value="7">MD07</option>
    <option value="8">MD08</option>
    <option value="9">MD09</option>
</select>

我的js:

$(document).ready(function () 
    $('#PhysicianID').SumoSelect();

    for (var i = 0; i < window.physicianIds.length; i++) 
        var physicianId = window.physicianIds[i];
        $('#PhysicianID')[0].sumo.selectItem(physicianId);
    
);

根据SumoSelect documentation,我希望选择以下内容:

MD10、MD11、MD12 和 MD13

但是,只有 MD02 和 MD03 被选中——我在这里缺少什么?

【问题讨论】:

【参考方案1】:

根据文档,您必须使用 string 按值选择项目。 integer 按索引选择项目。

$('#PhysicianID').SumoSelect();

var physicianIds = [10, 11, 12, 13];
for (var j = 0; j < physicianIds.length; j++) 
  var physicianId = physicianIds[j].toString();  
  $('#PhysicianID')[0].sumo.selectItem(physicianId);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.sumoselect/3.0.2/jquery.sumoselect.min.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/jquery.sumoselect/3.0.2/sumoselect.min.css" rel="stylesheet"/>

<select class="form-control SumoUnder" id="PhysicianID" multiple="multiple" name="CycleDetails.ProcedureRoomPhysicianIds">
  <option value="1">MD01</option>
  <option value="10">MD10</option>
  <option value="11">MD11</option>
  <option value="12">MD12</option>
  <option value="13">MD13</option>
  <option value="14">MD14</option>
  <option value="15">MD15</option>
  <option value="16">MD16</option>
  <option value="17">MD17</option>
  <option value="18">MD18</option>
  <option disabled="disabled" value="19">MD19</option>
  <option value="2">MD02</option>
  <option disabled="disabled" value="20">MD20</option>
  <option value="3">MD03</option>
  <option value="4">MD04</option>
  <option value="5">MD05</option>
  <option value="6">MD06</option>
  <option value="7">MD07</option>
  <option value="8">MD08</option>
  <option value="9">MD09</option>
</select>

【讨论】:

精氨酸。你说得对——我在调查时尝试了一种不同的方法,完全忽略了字符串部分。他们很相似。谢谢。

以上是关于SumoSelect 未选择数组中的所有值的主要内容,如果未能解决你的问题,请参考以下文章

SumoSelect 取消选择其他选项

SumoSelect 的全选选项与选择下拉菜单中的其他选项重叠

Sumoselect 中的选项可以添加图标/图像吗?

Sumoselect 插件不适用于动态选择下拉菜单

ui选择范围模型值中的选择框数组未正确显示

SumoSelect 不显示复选框或允许(多个或单个)选择