在使用jquery构建下拉列表时,有条件地添加所选属性

时间:2017-04-08 15:32:08

标签: jquery

我正在构建一个选择下拉菜单,其功能如下:

        $.each(data,function(key, value) {
            $select.append('<option value=' + key + '>' + value + '</option>');
        });

这里我复制了我的原始数据样本:

231:"Building"
232:"Trusting"
234:"Engineering"
235:"(*)Monitoring"
236:"Managing"

构建它时,我想:

  1. 选择以'(*)'开头的选项,因此我需要 有条件地将attr'选中'添加到选项中。
  2. 从显示的值中删除'(*)'。
  3. 感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

您可以使用.find确定字符串是否以'(*)'开头,然后将selected添加到选项的末尾,并使用切片删除'(*)'。< / p>

&#13;
&#13;
data = {
  231:"Building",
  232:"Trusting",
  234:"Engineering",
  235:"(*)Monitoring",
  236:"Managing"
}
$select = $("#select");
from = '(*)';
$.each(data,function(key, value) {
  if (value.indexOf(from) == 0) {
    $select.append('<option value=' + key + ' selected>' + value.slice(from.length) + '</option>');
  } else {
    $select.append('<option value=' + key + '>' + value + '</option>');
  }
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="select"></select>
&#13;
&#13;
&#13;