1
回答
关于下拉框的问题
华为云4核8G,高性能云服务器,免费试用   

下拉框图片:

 

html 代码:

<li class="list">
    <label class="label">上级药品类别:</label>
    <span class="simulate-select" style="width: 190px;"> 
        <input class="text" placeholder="--请选择--" style="width: 170px;">
        <i class="icon-grid icon-grid-fold-gray" style="position: absolute; top: 1px; left: 170px;">
        </i>
        <select name="upperClass" style="display: none;">
            <option value="">--请选择--</option>
            <option value="10033">板蓝根</option>
            <option value="111">中药</option>
            <option value="20044">阿莫西林</option>
            <option value="222">西药</option>
        </select>
        <ul class="simulate-select-lists" style="width: 189px; display: none;">
            <li class="simulate-select-list" value="">--请选择--</li>
            <li value="10033" class="simulate-select-list">板蓝根</li>
            <li value="111" class="simulate-select-list">中药</li>
            <li value="20044" class="simulate-select-list">阿莫西林</li>
            <li value="222" class="simulate-select-list">西药</li>
        </ul>
    </span>
</li>

 

现在有两个问题:

1.鼠标点击input框时,ul 时不时出不来

点击事件代码如下:

this.target.closest(".simulate-select").on("click", function () {
    if (!t.isReadOnly) {
        if (!t._hasLoad) {
            if (!t.isApply) {
                t._loadData();
                t.isApply = true;
            }
        }
        t._show();
    }
}).hover(null, function () {
    if( t.auto){
        var tempDisplay = t.target.find("option[value = '" +t.target.val() +"']").text();
        if(tempDisplay == t.preText){
            t.target.closest(".simulate-select").find(".text").val("");
            t.target.closest(".simulate-select").find(".text").attr("placeholder", tempDisplay);
        }else{
            t.target.closest(".simulate-select").find(".text").val(tempDisplay);
        }
    }
    t.target.closest(".simulate-select").find("ul").hide();
});

this.target 指的是    <select name="upperClass" style="display: none;"></select>

2.现在的效果是 鼠标移除ul的话,ul就会隐藏掉

我想改成input失去焦点时隐藏。

如果直接写失去焦点事件,则在点击ul的li的时候,ul就会隐藏了,就没有选中选项的效果。

求教各位大神有什么思路或者建议可以解决上面的问题,谢谢

<无标签>
举报
小栗子hl
发帖于11个月前 1回/56阅

以下是问题补充:

  • @小栗子hl :求一个思路,想不出来原因 (11个月前)
  • @小栗子hl :使用console 输出,发现没出现那个bug时,下拉框出现和消失事件都快速触发了一遍。但是不懂为什么会这样 (11个月前)
顶部