javascript - 如何找到每个下拉菜单的长度?

标签 javascript jquery html

我有一个表格,其中每个表格单元格都是一个下拉菜单。每个菜单都有不同数量的选项(基于 mysql 查询)。 有什么方法可以检查每个下拉菜单的多个选项吗?总体目标是禁用那些数量 <= 0 的菜单。

大多数示例都使用 HTML 元素的 id。我没有每个下拉菜单的 ID,因为根据某些数据库值,每个页面可能有不同数量的菜单。他们都属于同一类(Class)。现在我只是想看看我是否最终能得到正确的数字,但看起来我得到了页面上所有选项的总数。

$(document).ready(function() {
   $(".my_menu").each(check_length);
});

第一次尝试:

function check_length() {
  var sl_size = $("select > option").length;
  console.log("number: " + sl_size);
}

第二次尝试:

function check_length() {
  var sl_size = $(this).children.length;
  console.log("number: " + sl_size);
 }

第三次尝试:

function check_length() {
  var sl_size = $(this).length;
  console.log("number: " + sl_size);
 }

等等等等...任何帮助将不胜感激。

<小时/>

所询问的代码片段:

for ($q=1; $q<= 4; $q++) { // it loops 4 times for four columns I need
 echo "<td>";
 echo "<select class='my_menu' >";
 echo "<option value=''>  </option>"; // just an empty option for a better look of the page

 foreach($array as $ar) { // compares values of array with some other variables
   if($ar["station"] == $my_station && $ar["experience"] >= 3) {
   echo "<option value='".$ar["worker"]."'>".$ar["worker"]."</option>";
   } // end of if statement
   else { echo ""; }
 } // end of foreach loop
 echo "</select></td>";
}

整个代码太大,无法显示。基本上每次比较值时 - 它都会生成不同的名称列表。一切都很好。我想知道是否有机会获得每个列表的项目总数?我认为没有机会使用 PHP 或 MySQL 来实现这种布局,但希望找到使用 jQuery 的解决方案。如果解决方案不存在,也没关系。

最佳答案

试试这个代码,这里是演示 https://jsbin.com/virepis/edit?html,js,console,output

$(document).ready(function(){
  $(".table select").each(function(){
    if($('option', this).length <= 0) {
      $(this).attr('disabled', true);
    }
  });
});

感谢@Ashutosh,我正在使用他的 html

关于javascript - 如何找到每个下拉菜单的长度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54316633/

相关文章:

javascript - 使用 JQuery 从数组中检索最后一组键值

类似 Jquery Finder 的菜单

javascript - 使用序列为 arity 大于 1 的函数提供一元参数的正确方法是吗?

javascript - Angular - 如何在 $compile 中使用 $scope?

javascript - 无法使用 DOM 获取子元素

javascript - JQuery/Javascript - 下拉列表从另一个下拉列表获取信息

jquery - 根据父div的宽度左右浮动div

javascript - 在 JSP 中模态提交后处理表单

javascript - 如何通过 .append() 在 dom 中显示 json 对象数组

javascript - 从 1 数到 10 并在按钮链接内重复