【问题标题】:Show HTML select dropdown list to the right with options on the left在右侧显示 HTML 选择下拉列表,在左侧显示选项
【发布时间】:2015-03-18 23:44:42
【问题描述】:

需要一个小的 jquery/javascript 脚本来更改焦点选择器,以便在下拉列表中选择一个选项时,它会保持 HTML 选择下拉列表的宽度(不是最宽的选项)。

选择:焦点选择器起作用的那一刻,尽管您必须单击两次才能达到我想要的结果。

见小提琴 - https://jsfiddle.net/qsca7nr2/2/

    <table width="100%">
      <tr>
        <td width="80%">
                    Some long paragrph here klsdj flksd flks dfkl sdlk flksd flksd flksd flkj lskd flksd flksdj fklsjd fklsdf lksdj flskd jflksj flks jflks dflks dfkl skldf klsdj flksd flks dfkl sdlk flksd flksd flksd flkj lskd flksd flksdj fklsjd fklsdf lksdj flskd jflksj flks jflks dflks dfkl skldf klsdj flksd flks dfkl sdlk flksd flksd flksd flkj lskd flksd flksdj fklsjd fklsdf lksdj flskd jflksj flks jflks dflks dfkl skldf klsdj flksd flks dfkl sdlk flksd flksd flksd flkj lskd flksd flksdj fklsjd fklsdf lksdj flskd jflksj flks jflks dflks dfkl skldf klsdj flksd flks dfkl sdlk flksd flksd flksd flkj lskd flksd flksdj fklsjd fklsdf lksdj flskd jflksj flks jflks dflks dfkl skldf klsdj flksd flks dfkl sdlk flksd flksd flksd flkj lskd flksd flksdj fklsjd fklsdf lksdj flskd jflksj flks jflks dflks dfkl skldf klsdj flksd flks dfkl sdlk flksd flksd flksd flkj lskd flksd flksdj fklsjd fklsdf lksdj flskd jflksj flks jflks dflks dfkl skldf klsdj flksd flks dfkl sdlk flksd flksd flksd flkj lskd flksd flksdj fklsjd fklsdf lksdj flskd jflksj flks jflks dflks dfkl skldf klsdj flksd flks dfkl sdlk flksd flksd flksd flkj lskd flksd flksdj fklsjd fklsdf lksdj flskd jflksj flks jflks dflks dfkl skldf klsdj flksd flks dfkl sdlk flksd flksd flksd flkj lskd flksd flksdj fklsjd fklsdf lksdj flskd jflksj flks jflks dflks dfkl skldf klsdj flksd flks dfkl sdlk flksd flksd flksd flkj lskd flksd flksdj fklsjd fklsdf lksdj flskd jflksj flks jflks dflks dfkl skldf klsdj flksd flks dfkl sdlk flksd flksd flksd flkj lskd flksd flksdj fklsjd fklsdf lksdj flskd jflksj flks jflks dflks dfkl skldf klsdj flksd flks dfkl sdlk flksd flksd flksd flkj lskd flksd flksdj fklsjd fklsdf lksdj flskd jflksj flks jflks dflks dfkl skldf klsdj flksd flks dfkl sdlk flksd flksd flksd flkj lskd flksd flksdj fklsjd fklsdf lksdj flskd jflksj flks jflks dflks dfkl skldf klsdj flksd flks dfkl sdlk flksd flksd flksd flkj lskd flksd flksdj fklsjd fklsdf lksdj f
        </td>
        <td>
          <div class="dropdown_container">
            <select class="my_dropdown" id="my_dropdown">
                      <option value="1">MEDIUMMMM OPTION</option>
                      <option value="2">short</option>
                      <option value="3">LONG LONG LONG LONG LONG LONG LONG L LONGLO PTIONLOPTI ONLOPTIONLO PTIONLOPT IONOPTION x</option>
            </select>
          </div>  
        </td>
      </tr>
    </table>

因为我需要在第一次点击后禁用 :focus 选择器,所以我尝试过类似的操作?

    $(function() {
                $("select").change(function() {
                   $( this ).blur();
                });
    }

【问题讨论】:

  • 你为什么不给它一个宽度呢?比如说给它width: 140px,它不会永远改变
  • @DhirajBodicherla 在这种情况下不能选择固定宽度,但谢谢。
  • 这个问题在这里得到解答...stackoverflow.com/questions/20091481/…
  • 谢谢@Dinesh,尽管表单出现在页面右侧,选项在左侧。

标签: javascript jquery html css


【解决方案1】:

这样做:

$(function () {
    $("select").change(function () {
        $(this).blur();
    });
});

JS Fiddle Demo

【讨论】:

    【解决方案2】:

    我以两种方式解释您的问题 - 您需要实际的下拉控件来保持其大小,同时忽略单击时打开的托盘的大小,或者您希望托盘也具有相同的大小。

    对于前者,您只需将 CSS 更改为:

    select:focus {
        width: 100%;
    }
    

    【讨论】:

    • 如果您通过单击鼠标按钮两次来单击选项(因为 :focus),它应该按照当前的工作方式工作。它只需单击一次即可工作。希望这是有道理的。
    • 好吧,我现在有点糊涂了!简单地更改 CSS 会给我在接受的答案中看到的行为,而不使用 JS。 jsfiddle.net/pratik136/qsca7nr2/6 也许我不明白你在追求什么。 :)
    • 尝试清除浏览器缓存或使用此代码从头开始新的小提琴。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-22
    • 2022-11-18
    • 1970-01-01
    • 2017-05-11
    • 2015-12-13
    • 2018-03-31
    相关资源
    最近更新 更多