将JSON元素拆分为单个元素,并将任何新元素添加到下拉列表的选项中?

时间:2015-03-29 20:01:30

标签: javascript jquery json grep

我是JSON的初学者,并没有太多使用它,我如何将电视节目的流派分成各个类型,并在下拉选项中添加任何新类型?我想分开那些有' |'然后将它们添加到第二个下拉选项中作为选项。我如何设置"喜剧"作为默认选项?提前谢谢。

enter image description here

 $(function () {
            $("#chooseByGenre").click(function () {
                var text = $("#yourGenre").val();
                text = text.replace(/\|, " ");
                var edg = text.split("");
                $("#genreSelection").html("");

                for (i = 0; i < edg.length; i++) {
                    if (edg[i] < "a" || edg[i] > "z") {
                        $("#genreSelection").append("<br />");
                    }
                    else {
                        $("#genreSelection").append('<img src="sign' + edg[i] + '.g" />');
                    }

                }
            }); 

默认选项的代码:

var JSON_Response;
$(document).ready(function () {

    $.getJSON('Show.json', function (data) {
        JSON_Response = data;  


        var mySelect = document.getElementById("selShow");

        for (i = 0; i < JSON_Response.shows.length; i++) {
            var myOption = document.createElement("option");
            myOption.text = JSON_Response.shows[i].Title;
            myOption.value = i;
            try {

                mySelect.add(myOption, mySelect.options[null]);
            }
            catch (e) {
                mySelect.add(myOption, null);
            }
        } //end for 



var mySelect2 = document.getElementById("selGenre");

        for (i = 0; i < JSON_Response.shows.length; i++) {
            var myOption2 = document.createElement("option");
            myOption2.text = JSON_Response.shows[i].Genre;
            myOption2.value = i;
            try {

                mySelect2.add(myOption2, mySelect2.options[null]);
            }
            catch (e) {
                mySelect2.add(myOption, null);
            }
        } //end for 

    }); //end getJSON

1 个答案:

答案 0 :(得分:1)

可能你可以尝试这样吗? (尚未经过测试):

   ...
   try {
       if ( myOption2.text == 'comedy') {
          myOption2.setAttribute("selected", "selected");
       }
       mySelect2.add(myOption2, mySelect2.options[null]);
    }
    ...