求大神解决 问题有点难

qingwadaxia_1 2017-08-22 02:26:13
<li><label>分配客服:</label>

<select style="width:125px;margin-right:5px;height:30px;border:1px solid #ced9df;margin-bottom: 10px;" name="zixunUserId" id="zixunUserId" class="select2" >
<option value="0">请选择-------</option>
<s:iterator value="#session.currentUsersZX" id='entry'>

<option value='${id }' <s:if test="patient.zixunUser.id == id">selected="selected"</s:if> >${name }</option>
</s:iterator>
</select>
<i>可以不填!</i>
</li>



这是一个下拉选择客服, 里面有100多个客服 我只想要显示指定 包含姓张的客服 其它不是姓张的客服都不显示 或者说不包含张的名字用js动态去掉 请问如何去掉, 或者说让他按拼音进行排序
...全文
185 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
qingwadaxia_1 2017-08-23
  • 打赏
  • 举报
回复
引用 2 楼 showbo 的回复:
<select style="width:125px;margin-right:5px;height:30px;border:1px  solid #ced9df;margin-bottom: 10px;"  name="zixunUserId" id="zixunUserId"  class="select2" >   
    <option value="0">请选择-------</option>
  <s:iterator value="#session.currentUsersZX" id='entry'>
  
        <option value='${id }' <s:if test="patient.zixunUser.id == id">selected="selected"</s:if> >${name }</option>                  
                   </s:iterator>
</select>
<script>
    var s = document.getElementById('zixunUserId');
    for (var i = s.options.length - 1; i >= 0; i--)
       // if (s.options[i].text.indexOf('张') !== 0) s.removeChild(s.options[i]);//开头为张
        if (s.options[i].text.indexOf('张') ==-1) s.removeChild(s.options[i]);//不包含张
</script>
Web开发学习资料推荐 jqGrid colModel配置参数 easyui datebox只显示年月选择,隐藏日期
大神,我还有两个问题,第一个是:不包含张的 好像还是只包含张 和上面那个开头为张是一样的 ; 第二个问题是:为什么满足了条件之后, 删除的明明是所有节点,却可以做到保留张,
qingwadaxia_1 2017-08-22
  • 打赏
  • 举报
回复
引用 5 楼 showbo 的回复:
因为是从最后开始遍历,要-- 从0开始按照没经验的同学肯定是下面的方法 for (var i =0;i< s.options.length;i++) if (s.options[i].text.indexOf('张') ==-1) s.removeChild(s.options[i]);//不包含张 这样便利将会导致只能删除一半,因为下面remove掉option后会直接反应到s.options中,s.options是HTMLOptionsCollection,任何地方删除了,都会从HTMLOptionsCollection集合中删除,所以要从后面开始遍历,不能从头,从开的话i++不能放for里面,要改成这样 for (var i =0;i< s.options.length;) if (s.options[i].text.indexOf('张') ==-1) s.removeChild(s.options[i]);//不包含张 else i++;
真的多谢解答了!!!
  • 打赏
  • 举报
回复
因为是从最后开始遍历,要-- 从0开始按照没经验的同学肯定是下面的方法 for (var i =0;i< s.options.length;i++) if (s.options[i].text.indexOf('张') ==-1) s.removeChild(s.options[i]);//不包含张 这样便利将会导致只能删除一半,因为下面remove掉option后会直接反应到s.options中,s.options是HTMLOptionsCollection,任何地方删除了,都会从HTMLOptionsCollection集合中删除,所以要从后面开始遍历,不能从头,从开的话i++不能放for里面,要改成这样 for (var i =0;i< s.options.length;) if (s.options[i].text.indexOf('张') ==-1) s.removeChild(s.options[i]);//不包含张 else i++;
qingwadaxia_1 2017-08-22
  • 打赏
  • 举报
回复
引用 2 楼 showbo 的回复:
<select style="width:125px;margin-right:5px;height:30px;border:1px  solid #ced9df;margin-bottom: 10px;"  name="zixunUserId" id="zixunUserId"  class="select2" >   
    <option value="0">请选择-------</option>
  <s:iterator value="#session.currentUsersZX" id='entry'>
  
        <option value='${id }' <s:if test="patient.zixunUser.id == id">selected="selected"</s:if> >${name }</option>                  
                   </s:iterator>
</select>
<script>
    var s = document.getElementById('zixunUserId');
    for (var i = s.options.length - 1; i >= 0; i--)
       // if (s.options[i].text.indexOf('张') !== 0) s.removeChild(s.options[i]);//开头为张
        if (s.options[i].text.indexOf('张') ==-1) s.removeChild(s.options[i]);//不包含张
</script>
Web开发学习资料推荐 jqGrid colModel配置参数 easyui datebox只显示年月选择,隐藏日期
不过我想请问下 为什么这里是用i-- 不是i++
qingwadaxia_1 2017-08-22
  • 打赏
  • 举报
回复
引用 2 楼 showbo 的回复:
<select style="width:125px;margin-right:5px;height:30px;border:1px  solid #ced9df;margin-bottom: 10px;"  name="zixunUserId" id="zixunUserId"  class="select2" >   
    <option value="0">请选择-------</option>
  <s:iterator value="#session.currentUsersZX" id='entry'>
  
        <option value='${id }' <s:if test="patient.zixunUser.id == id">selected="selected"</s:if> >${name }</option>                  
                   </s:iterator>
</select>
<script>
    var s = document.getElementById('zixunUserId');
    for (var i = s.options.length - 1; i >= 0; i--)
       // if (s.options[i].text.indexOf('张') !== 0) s.removeChild(s.options[i]);//开头为张
        if (s.options[i].text.indexOf('张') ==-1) s.removeChild(s.options[i]);//不包含张
</script>
Web开发学习资料推荐 jqGrid colModel配置参数 easyui datebox只显示年月选择,隐藏日期
大神,请受我一拜!
  • 打赏
  • 举报
回复
<select style="width:125px;margin-right:5px;height:30px;border:1px  solid #ced9df;margin-bottom: 10px;"  name="zixunUserId" id="zixunUserId"  class="select2" >   
<option value="0">请选择-------</option>
<s:iterator value="#session.currentUsersZX" id='entry'>

<option value='${id }' <s:if test="patient.zixunUser.id == id">selected="selected"</s:if> >${name }</option>
</s:iterator>
</select>
<script>
var s = document.getElementById('zixunUserId');
for (var i = s.options.length - 1; i >= 0; i--)
// if (s.options[i].text.indexOf('张') !== 0) s.removeChild(s.options[i]);//开头为张
if (s.options[i].text.indexOf('张') ==-1) s.removeChild(s.options[i]);//不包含张
</script>


Web开发学习资料推荐
jqGrid colModel配置参数
easyui datebox只显示年月选择,隐藏日期
qingwadaxia_1 2017-08-22
  • 打赏
  • 举报
回复
在线急等大神

87,989

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧