2016-02-29 88 views
2

我想打开这个下拉选择,而不是通过点击它的位置,但在另一个<span>打开一个下拉菜单,点击页面上的其他地方

这里是下拉菜单:

<div class="styled-select"> 
    <span id="camDurationSpanId" style="font-size:18px; position: absolute; top:8px; width:305px; height :42px;"></span> 
    <select id="camDurationId" name="camDuration" style="margin:42px 0 0 5px; border: none" onmousedown="{this.size=this.options.length;} " onchange='this.size=0;' onblur="this.size=0;"> 
     <option value="0">All Duration</option> 
     <option value="1">Last Month</option> 
     <option value="2">Last Two Weeks</option> 
     <option value="3">Last Week</option> 
     <option value="4">Custom</option> 
    </select> 
</div> 

我想通过点击超过<span id="camDurationSpanId">打开下拉菜单,还可以,我希望把所选选项到这个范围。

这里是我的javascript:

$(function() { 
    $('#camDurationSpanId').click(function() { 
     $('#camDurationId'). //don't know what to write here 

    }); 
}); 

是有可能这样做?

回答

2

尝试

$(function() { 
      $('#camDurationSpanId').click(function() { 
        $('#camDurationId').attr('size',5); 
       }); 
      }); 

例如:https://jsfiddle.net/cmedina/o7zn8f8h/

+0

谢谢,工作!但你是否也可以建议任何解决方案将“abrir select”更改为选定的选项?我试图使用document.getElementById('camDurationSpanId')。innerHTML = ....... – reshad

+0

@reshad您可以使用'$('#camDurationSpanId')。text('-------') ;'例如:https://jsfiddle.net/cmedina/o7zn8f8h/2/ – CMedina

1

为了以编程方式打开一个箱子select你需要一个触发事件mousedown

$('#camDurationId').trigger('mousedown'); 

Here's a demo

+0

感谢您的回复,但有可能也改变打开到所选择的选项,在你的代码,我的意思是,当我选择自定义,打开更新自定义?还有,如何禁用原始下拉菜单。对一个评论中的这么多问题感到抱歉 – reshad

+1

@reshad我认为如果您使用单选按钮而不是下拉菜单,则可以通过您描述的用例来判断。 – stackErr

+0

@stackErr不幸的是,我不能,我应该使用选择选项 – reshad

相关问题