gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 01:19:59 25 4
gpt4 key购买 nike

我有一个表格,其中每个表格单元格都是一个下拉菜单。每个菜单都有不同数量的选项(基于 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com