javascript - 根据下拉值显示元素数量的问题

标签 javascript jquery

我之前问了一个问题来解决我的困境,即如何根据下拉值显示元素的数量。例如,如果我选择“2”,则会显示 2 个 div 元素。如果您选择“3”,则会显示 3 个元素。

目前,我的页面设置为当您选择“1”时,会显示元素 1。当您选择“4”时,会显示元素 4。

Example

<select class="signupSearchModelTypeSelect" id="selectModelNumber" name="modelsCount" style="display: none;">
                        <option value="1">1</option>
                        <option value="2">2</option>
                        <option value="3">3</option>
                        <option value="4">4</option>
</select>


<div class="signupLabelSelectContainer modelNumberAll modelNumber1">
blablabla
</div>
<div class="signupLabelSelectContainer modelNumberAll modelNumber2">
blablabla
</div>
<div class="signupLabelSelectContainer modelNumberAll modelNumber3">
blablabla
</div>
<div class="signupLabelSelectContainer modelNumberAll modelNumber4">
blablabla
</div>

.....
$(".signupSearchModelTypeSelect").chosen({
            inherit_select_classes: true,
            disable_search: true
        }).change(function(f, g) {
            if ($(this).attr("name") == "modelsCount") {
                //This section controls the dropdown
                $(".modelNumberAll").addClass("hide");
                $(".modelNumber" + $(this).val()).removeClass("hide")
            }
....

so we built something like this in JsFiddle

我修改了我的 JS,如下所示:

$(".signupSearchModelTypeSelect").chosen({
    inherit_select_classes: true,
    disable_search: true
}).change(function(f, g) {
    if ($(this).attr("name") == "modelsCount") {

    //This section controls the dropdown
    var number = $(this).val();
    $('.CommonAttribute').hide().slice( 0, number ).show();
});

And the result is that the div's don't change at all now

这有什么问题吗?谢谢!

编辑:更新了 html,将 .CommonAttribute 替换为 .modelNumberAll

最佳答案

您实际上尚未在要显示/隐藏的项目上使用“CommonAttribute”类。 $('.CommonAttribute') 的查询结果为空。

为了确定这一点,我打开 Chrome Devtools,设置一个断点以在更改事件期间停止,更改选择框的值,然后在代码编辑器中选择“$('.CommonAttribute')”查询,右键单击它并选择“在控制台中评估”。它显示一个空结果,实际上编号元素没有此类,就像它们在 jsFiddle 中一样。

关于javascript - 根据下拉值显示元素数量的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24962639/

相关文章:

javascript从数组中获取第二个变量

javascript - Chrome 扩展 : "Error handling response: TypeError: Cannot set property ' value' of null"

javascript - 根据下拉列表动态替换 'src' 和 'href' 标签

php - 预匹配 : equal sign in pattern

javascript - 视频 : play loop video without re-load

javascript - 如何找到位于给定 (X,Y) 位置的 DOM 节点? ( HitTest )

javascript - 如何在页面访问时自动提交 Rails 表单

javascript - IE - select2 始终获得焦点

javascript - JQuery通过拆分段落更改页面中的文本

javascript - Canvas javascript游戏中的碰撞