JavaScript 中的选定选择器

发布于 12-08 01:06 字数 415 浏览 0 评论 0原文

如何将以下 jQuery 代码转换为工作 JavaScript 代码?

jQuery

$('select :visible:selected').each(function(i) {
  // instructions
}

我已经用 JS 实现了可见选择器。或者有更好的解决方案吗?

JavaScript

for (var i=0;i<$('select').length;i++) {
  if ($('select')[i].style.visibility == "visible") {
    // instructions
  }    
}

感谢您的帮助!

How can I transform the following jQuery code to working JavaScript code?

jQuery

$('select :visible:selected').each(function(i) {
  // instructions
}

The visible selector I've already implemented with JS. Or is there a better solution?

JavaScript

for (var i=0;i<$('select').length;i++) {
  if ($('select')[i].style.visibility == "visible") {
    // instructions
  }    
}

Thanks for your help!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

千笙结2024-12-15 01:06:38

选定的内容从选择列表中选择选项。因此,要使用纯 JavaScript UPDATE 从页面中的所有可见 SELECT 中获取所有选定选项,

var selects = document.getElementsByTagName('select');
for(var i=0; i<selects.length; i++) {
   var select = selects[i];

   if(select.style.visibility == 'visible'){
     for(var j=0; j<select.options.length; j++) {
       if(select.options[j].selected){
          // ... your code goes here ..
       }
     }
   }
}

因此,如果我正确理解您,您需要所有 从所有可见 SELECT 中选择了 选项,并且你可以使用 jQuery

$('select:visible option:selected').each(function(i,elm) {
  // instructions
  alert(elm.value);
 });

Selected takes selected OPTION from SELECT list. So to get all selected options from all visible SELECTs from the page with pure JavaScript

var selects = document.getElementsByTagName('select');
for(var i=0; i<selects.length; i++) {
   var select = selects[i];

   if(select.style.visibility == 'visible'){
     for(var j=0; j<select.options.length; j++) {
       if(select.options[j].selected){
          // ... your code goes here ..
       }
     }
   }
}

UPDATE So if I undestand you corectly you need all selected OPTIONS from ALL visible SELECTs and you CAN use jQuery

$('select:visible option:selected').each(function(i,elm) {
  // instructions
  alert(elm.value);
 });
少跟Wǒ拽2024-12-15 01:06:38

iQuery javascript,因此“jQuery 代码”有效的 JavaScript 代码。

另外,您在第二个示例中也使用了 ($('select')),这一事实让我想知道为什么您不只是简单地使用第一个示例。

如果您不想使用 jQuery 并坚持使用“普通”javascript,它应该如下所示:

var elements = document.getElementsByTagName('select');
for (var i=0;i<elements.length;i++) {
  var element = elements[i];

  // use:
  element.style.visibility // to check for visibility
  element.selectedIndex // to check if/what option is selected (-1 = no selection)
  // a 'select' doesn't have a 'selected' property
  // because it's the <option> that gets selected

  // so we end up:
  if (element.style.visibility == "visible" && element.selectedIndex >= 0) {
    // instructions
  } 
}

有关 选定索引已选择

iQuery is javascript, so the "jQuery code" is working JavaScript code.

additionally, the fact that you're using in your second example, too ($('select')) makes me wonder why you don't just simply use your first one.

if you don't want to use jQuery and stick to "plain" javascript instead, it should look like this:

var elements = document.getElementsByTagName('select');
for (var i=0;i<elements.length;i++) {
  var element = elements[i];

  // use:
  element.style.visibility // to check for visibility
  element.selectedIndex // to check if/what option is selected (-1 = no selection)
  // a 'select' doesn't have a 'selected' property
  // because it's the <option> that gets selected

  // so we end up:
  if (element.style.visibility == "visible" && element.selectedIndex >= 0) {
    // instructions
  } 
}

more information about selectedindex and selected

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文