从for循环中选择下拉选项(Selecting a dropdown option from a for loop)
我有以下循环。 如果数据值在下拉列表中,则会看到它是否显示为已选中。
for (var i in data) { $("#optionDropdwon option:contains(data[i])").prop("selected", true); console.log(data[i]) }
当我用
:contains()
中的data[i]
替换实际字符串即“xyz”时,它工作正常,但当我用data[i]
替换它时,没有任何反应。 然而我可以看到console.log(data[i])
向我展示了正确的值。 我搜索了Stackoverflow但找不到像我在做的事情。请让我知道我在哪里犯了错误。 谢谢
I have following for loop. Which sees if the data value is in the dropdown if so it will show it as selected.
for (var i in data) { $("#optionDropdwon option:contains(data[i])").prop("selected", true); console.log(data[i]) }
It works fine when I replace
data[i]
in the:contains()
with an actual string i.e "xyz" but when I replace it withdata[i]
nothing happens. Yet I can seeconsole.log(data[i])
shows me the proper values. I searched Stackoverflow but couldn't find something like what I am doing.Please let me know where I am making a mistake. Thanks
原文:https://stackoverflow.com/questions/21103731
最满意答案
检查这个例子..一切都轻松完成http://jsfiddle.net/GHzfD/
编辑 :更新/工作于2013年7月02日: jsfiddle.net/GHzfD/357
#webmenu{ width:340px; } <select name="webmenu" id="webmenu"> <option value="calendar" title="http://www.abe.co.nz/edit/image_cache/Hamach_300x60c0.JPG"></option> <option value="shopping_cart" title="http://www.nationaldirectory.com.au/sites/itchnomore/thumbs/screenshot2013-01-23at12.05.50pm_300_60.png"></option> <option value="cd" title="http://www.mitenterpriseforum.co.uk/wp-content/uploads/2013/01/MIT_EF_logo_300x60.jpg"></option> <option value="email" selected="selected" title="http://annualreport.tacomaartmuseum.org/sites/default/files/L_AnnualReport_300x60.png"></option> <option value="faq" title="http://fleetfootmarketing.com/wp-content/uploads/2013/01/Wichita-Apartment-Video-Tours-CTA60-300x50.png"></option> <option value="games" title="http://krishnapatrika.com/images/300x50/pellipandiri300-50.gif"></option> </select> $("body select").msDropDown();
Check this example .. everything has been done easily http://jsfiddle.net/GHzfD/
EDIT: Updated/working as of 2013, July 02: jsfiddle.net/GHzfD/357
#webmenu{ width:340px; } <select name="webmenu" id="webmenu"> <option value="calendar" title="http://www.abe.co.nz/edit/image_cache/Hamach_300x60c0.JPG"></option> <option value="shopping_cart" title="http://www.nationaldirectory.com.au/sites/itchnomore/thumbs/screenshot2013-01-23at12.05.50pm_300_60.png"></option> <option value="cd" title="http://www.mitenterpriseforum.co.uk/wp-content/uploads/2013/01/MIT_EF_logo_300x60.jpg"></option> <option value="email" selected="selected" title="http://annualreport.tacomaartmuseum.org/sites/default/files/L_AnnualReport_300x60.png"></option> <option value="faq" title="http://fleetfootmarketing.com/wp-content/uploads/2013/01/Wichita-Apartment-Video-Tours-CTA60-300x50.png"></option> <option value="games" title="http://krishnapatrika.com/images/300x50/pellipandiri300-50.gif"></option> </select> $("body select").msDropDown();
相关问答
更多-
下拉选择图像(Dropdown select with images)[2022-12-21]
检查这个例子..一切都轻松完成http://jsfiddle.net/GHzfD/ 编辑 :更新/工作于2013年7月02日: jsfiddle.net/GHzfD/357 #webmenu{ width:340px; }如何在选择列表中添加图像(How to add images in select list?)[2022-10-23]
在Firefox中,您只需将背景图像添加到选项: 更好的是,您可以像这 ...我花了一段时间才弄清楚如何解决你的问题,但最终我找到了一个解决方案。 我在谈论的解决方案需要一个变量mousedown ,它告诉我们是否正在单击select_pretty 。 如果是这样, option_clicked不应该继续,除非mousedown是false 。 当一些事件处理程序采取行动时也会发生一些变化。 查看下面的代码并与原始版本进行比较。 这是您的工作下拉菜单:这应该做到这一点。 在良好值的数组上使用.indexOf()并检查该值是否在数组中。 要确保处理程序在页面加载时触发,请使用.change()触发change事件。: $(document).ready(function() { $('#dropdown').on('change', function() { if ( ['field2', 'field3'].indexOf( this.value ) > -1 ) { $(" ...下拉选择更改图像(Dropdown change image on selection)[2021-10-24]
你不能多次使用一个id 。 id是为了对元素唯一。 var image = document.querySelector('#image img'); document.getElementById('webmenu').onchange = function(){ image.src=document.getElementById(this.options[this.selectedIndex].getAttribute('data-img')).src; }原始JavaScript 原始JavaScript版本使用document.getElementById和Element#getElementsByTagName ,然后跳过第一个: var list, images = [], index; list = document.getElementById("myGallery0").getElementsByTagName("img"); for (index = 1; index < list.length; ++index) { images.p ...你的代码有两个问题。 你的选择没有价值。 应该是这样的: 你的src的目标是$(this) ,这是addItem按钮,这就是为什么你undefined 。 修理: var src = $('#searchresults').find(':selected').attr('data-src'); 小提琴 更新 既然你想显示实际的图像,而不是图像路径。 像 ...显示图像下方的下拉值(Display dropdown values below images)[2024-03-10]
同样,如果你对html没有影响,你可以做css hack 尝试 .product-options dt:nth-of-type(-n+2), .product-options dd:nth-of-type(-n+2) { display: inline-block; width: 90px; } 并删除display: inline-block; 和其他的width 。 Again, if you have no influence on html you can do css ...