jQuery   发布时间:2022-03-30  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了jquery – 计数选择下拉列表中的选项数(同一页上的多个)大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我试在选择下拉列表中输出选项数,但同一页上有多个选项.

例如:

<SELEct name="SELEct" class="drop">
   <option name="option" value="Option 1"></option>
</SELEct>

<SELEct name="SELEct" class="drop">
   <option name="option" value="Option 1"></option>
   <option name="option" value="Option 2"></option>
   <option name="option" value="Option 3"></option>
</SELEct>

所以第一个输出(1),第二个输出(3).

我有这个代码,但它输出(4) – 从所有选择计数所有选项.

<script type="text/javascript">
$(function() {
   $(".date_number").text($(".drop option").length + " items");
});
</script>

任何帮助谢谢!

解决方法

使用选择器“.drop选项”将获得类“.drop”下的元素(不一定是直接子元素)下的所有选项元素.

请注意,这不仅适用于SELEct元素,而且还适用于:

<div class="drop">
    <SELEct>
        <option>Item 1</option>
        <option>Item 2</option>
        <option>Item 3</option>
    </SELEct>
</div>

$('.drop option').length // 3

为确保您的< option> < SELEct class =“drop”>的元素子元素,使用子选择器&gt ;:

$('.drop > option');

要单独选择每个选择的选项数量,您可以选择< SELEct>然后再为每一个计数.你可以这样做:

var optionsArr = $('SELEct.drop').map(function() {
                     return $(this).find('option:not(:disabled)').length;
                 }).toArray();

这将返回一个不同数量的数组:[1,3]

DEMO

添加文本“3可用日期”的div,请执行以下操作:

$('SELEct.drop').each(function() {
    // the current SELEct.drop
    var $this = $(this);
    // create a div with the text you want
    $('<div>' + $this.find('option:not(:disabled)').length + ' date(s) available</div>')
        // append it after the current SELEct.drop
        .insertAfter($this);
});

///////////////////////

好的,几乎有!再次感谢您的时间在这

我已经把代码放在了,它正在做我想做的事情,但是由于这一切都在手风琴中,因此每个手风琴项目都会循环播放.看屏幕截图(借口造型):

我只需要它现在只循环在手风琴的选择下降,而不是每一个.

此外,在我的选择中,我将第一个选项设置为“已禁用”作为验证的一部分,以便用户必须在继续之前选择一个项目,例如:

<option disabled="disabled"></option>

javascript也在计数.那么有什么办法可以把一个-1放在这个结果中,还是有更好的方法来做到这一点我失踪了?

再次感谢…

大佬总结

以上是大佬教程为你收集整理的jquery – 计数选择下拉列表中的选项数(同一页上的多个)全部内容,希望文章能够帮你解决jquery – 计数选择下拉列表中的选项数(同一页上的多个)所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。