javascript - 如何使用 SelectBoxIt jquery 插件触发 native 选择框

标签 javascript jquery

我使用 SelectBoxIt 插件在我的应用程序中显示选择框。

我有两个选择框,如果我更改第一个选择框中的值,另一个选择框应该自动更新(它应该自动触发)。

对于两个选择框值都是动态传递的,我使用了下面的代码

$('.ember-select').selectBoxIt({
            theme: "default",
            autoWidth: false,
            triggerChangeCombined: true
        });

我用过

$('.ember-select').selectBoxIt({
            native: true
        });

它将触发,但选择框的其他属性(例如“theme”、“autoWidth”)不会呈现。

最佳答案

好的,您可以检查这个 Demo 和代码如下:

这是您的示例 HTML

<div class='formArea'>
    <label>Mode:</label><br/>
    <select id="modes" name="modes">
        <option disabled selected>
            -- Choose a Mode --
         </option>
         <option>Vehicle</option>
         <option>Fleet</option>
         <option>Trailers</option>
     </select><br/>
    <label>Options:</label><br/>
    <select id="optionss" name="optionss">
        <option disabled selected>
            -- Options --
        </option>

     </select><br/>
</div>

下面是你的JS:

var vehicles = ['Vehicle 1', 'Vehicle 2', 'Vehicle 3', 'Vehicle 4', 'Vehicle 5']; //add all your vehicle options here
var fleet = ['fleet 1', 'fleet 2', 'fleet 3', 'fleet 4', 'fleet 5']; //add all your fleet options here
var trailers = ['trailer 1', 'trailer 2', 'trailer 3', 'trailer 4', 'trailer 5']; //add all your trailers options here

var optionss =  [{name: "Vehicles", clubs: vehicles},
                 {name: "Fleet", clubs: fleet},
                 {name: "Trailers", clubs: trailers}
                ];


$(function() {
    var selectedmode = $('#modes option:selected').text()
    var optionmenu = $('#optionss');
    for (var i = 0; i < optionss.length; i++) {
         if (selectedmode === optionss[i].name) {
              $.each(optionss, function(val, obj) {
                  optionmenu.append($('<option></option>').val(val).html(obj.clubs));
              });
         }
    }
});

$('#modes').on('change',function(){
    var mode=$(this).find(":selected").text();
    $('#optionss').find('option').remove();
    switch(mode)
    {
        case 'Vehicles':
            $.each(vehicles, function(key, value) {   
                    $('#optionss')
                    .append($("<option></option>")
                    .text(value)); 
            });
            break;

        case 'Fleet':
            $.each(fleet, function(key, value) {   
                    $('#optionss')
                    .append($("<option></option>")
                    .text(value)); 
            });
            break;
        case 'Trailers':
            $.each(trailers, function(key, value) {   
                    $('#optionss')
                    .append($("<option></option>")
                    .text(value)); 
            });
            break;
        default:break;        
      }
});

关于javascript - 如何使用 SelectBoxIt jquery 插件触发 native 选择框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30074093/

相关文章:

jquery - Kendo Grid - 如何动态添加列?

javascript - 如何用2个不同ID的innerHTML替换textarea的值

javascript - 使用 Jquery ui 效果动画圣诞装饰品

javascript - facebook FB.Event.subscribe ('auth.authResponseChange' ) 不工作

javascript - Bootstrap 切换折叠未知 id

javascript - 如何在 Java 中使用 Selenium WebDriver 和/或 Sikuli 平滑滚动

javascript - 删除 :focus/control generated error field 上的输入文本

javascript - 铁 :router working Weird - sends me to template then goes back

javascript - js 异步/等待返回 promise

javascript - 使用 JSON 重定向到 WebForm