Javascript 将列表框转换为复选框

Javascript 将列表框转换为复选框,javascript,jquery,html,checkbox,Javascript,Jquery,Html,Checkbox,我有一个下拉列表,当我从该下拉列表中选择一个项目时,列表框中的json会显示对应于该项目的列表。但我不想有列表框,我想有复选框,这样我可以选择多个项目。我正在尝试将此列表框转换为复选框,但未得到预期结果。。请帮忙 这是我的javascript代码 $('#dropdown1').change(function () { $('#listbox').empty(); $('<option>', { text: 'Select your List

我有一个下拉列表,当我从该下拉列表中选择一个项目时,列表框中的json会显示对应于该项目的列表。但我不想有列表框,我想有复选框,这样我可以选择多个项目。我正在尝试将此列表框转换为复选框,但未得到预期结果。。请帮忙

这是我的javascript代码

 $('#dropdown1').change(function () {
     $('#listbox').empty();

     $('<option>', {
         text: 'Select your List Option',
         value: '',
         selected: 'selected',
         disabled: 'disabled'
     }).appendTo('#listbox');

     var selection = $('#dropdown1 :selected').text();
     //   var selection = $('#dropdown1 :selected').text();
     $.each(jsObject, function (index, value) {
         if(value['name'] == selection) {
             var optionHtml = '';
             for(var i = 1; i <= 20; i++) {
                 var attr = 'attr' + ('000' + i).substr(-3);
                 optionHtml += '<option value="' + attr + '">' + value[attr] + '</option>';
             }
             $('#listbox').append(optionHtml);
             return false;
         }
     });
 });
这是我的html代码

<form name="myform" id="myForm">

    <select id="dropdown1"></select>
    <select id="listbox", multiple></select>
    <br>


</form>
更多js代码

$(document).ready(function() {

    $.ajax({
        url: "data.json",
        dataType: "json",
        success: function(obj) {
            var jsObject = obj;
            var usedNames = [];

            $('<option>', {
                text: 'Select your Option',
                value: '',
                selected: 'selected',
                disabled: 'disabled'
            }).appendTo('#dropdown1');

            $.each(obj, function(key, value) {
                if (usedNames.indexOf(value.name) == -1) {
                    $("#dropdown1").append("<option value=" + key + ">" + value.name + "</option>");
                    usedNames.push(value.name);
                }

在用您需要的内容填充下拉列表后,当您选择一个选项时,您将获得数据,而不是制作一个make。然后在div中填入:

<input type="checkbox" name="yourDataName" value="yourDataName">yourDataName</input>
在JSFIDLE上查看此演示:

这只是一个演示。希望它能解决你的问题

更改此项:

$.each(jsObject, function (index, value) {
         if(value['name'] == selection) {
             var optionHtml = '';
             for(var i = 1; i <= 20; i++) {
                 var attr = 'attr' + ('000' + i).substr(-3);
                 optionHtml += '<option value="' + attr + '">' + value[attr] + '</option>';
             }
             $('#listbox').append(optionHtml);
             return false;
         }
     });
为此:

var check = '';
 $.each(jsObject, function (index, value) {
         if(value['name'] == selection) {

             for(var i = 1; i <= 20; i++) {
                 var attr = 'attr' + ('000' + i).substr(-3);
                 check += '<input type="checkbox" name="'+attr+'" value="' + attr + '">' + value[attr] + '<br>';
             }
             $('#listbox').append(check);
         }
     });

jsObject在何处以及如何声明?你能发布一个例子吗?我添加了更多的代码,请看!!obj值的示例?U表示下拉列表中的值??这就像是abc,xyz,QWE在填写下拉列表后,当你选择一个选项时,你会选择什么样的数据作为一个复选框列表,对吗?嗨,谢谢你的建议,但当你硬编码数据时..我想给出我的json的url,那么我应该在这里提到什么数据=[Hi,there];并选中+=+ListName+;我有一个疑问,在您的ajax调用中,url是$.ajax{url:data.json,dataType:json},所以您不打算将您的选择值传递给data.json以获得对应于特定选择的列表,所以它应该类似于:var check=;$。每个hjsobject,函数索引,值{ifvalue['name']==selection{forvar i=1;i