2013-05-11 61 views
0

敬请访问这个小提琴:jQuery的单击另一个元素,并显示在第1选择选项

http://jsfiddle.net/Y4LMX/

我想知道有没有办法转移的点击?我的意思是,当我单击绿色区域(<div class="arrow"/>)时,同时标签也会被点击或选中并显示下面的选项。有没有办法做到这一点?

注:我这样做是为IE支持的<select>标签。

我试着用下面的代码:

$(".ie-arrow").click(function(){ 
    $(this).prev().find($("select").click()); 
}); 

但是,它不工作。你能解决它吗?

谢谢。

+0

点击一个选择编程不会让它开放。 – adeneo 2013-05-11 18:58:32

回答

1

好的,根据回答no。两人这才question,这里是一个解决方案:Visit this fiddle

的javascript:

$(".drop1").append("<div onclick='runThis1()' class='arrow'></div>"); 
$(".drop2").append("<div onclick='runThis2()' class='arrow'></div>"); 

(function() { 
     showDropdown = function (element) { 
      var event; 
      event = document.createEvent('MouseEvents'); 
      event.initMouseEvent('mousedown', true, true, window); 
      element.dispatchEvent(event); 
     }; 

     window.runThis1 = function() { 
      var dropdown = document.getElementById('dropdown'); 
      showDropdown(dropdown); 
     }; 

     window.runThis2 = function() { 
      var dropdown = document.getElementById('dropdown2'); 
      showDropdown(dropdown); 
     }; 
    })(); 
0

我改变大小破解在这里做到了:http://jsfiddle.net/f2Upx/

$(".drop1, .drop2").append("<div class='arrow' />"); 

$(".arrow").click(function(){ 
    $(this).prev().attr('size',5).css("height","200px") 
      .parent().css("height","150px"); 
}); 

而且这里有一个简单的例子,用假选择框我做了前两天http://jsfiddle.net/Jc2qq/它会很容易地改造,以适应这个问题的需要。

+2

当然你需要附加一个onblur事件,以便它返回到它的原始大小。 – sergioadh 2013-05-11 19:16:46

+0

像这样聪明的想法就是用隐藏的输入框和一些div来模拟选择框。 所以你不必一开始就这样做。 – 2013-05-11 19:18:10

+0

它只是增加了尺寸,我甚至无法关闭它。谢谢。 – Asif 2013-05-11 19:27:38

相关问题