使用文本文件进行动态下拉

时间:2014-10-15 05:49:14

标签: javascript jquery

我创建了动态下拉列表,文本文件加载到第二个下拉列表

  • 现在我的问题是,只有当用户从第一个框中选择任何选项时,我才会显示第二个下拉列表

<script>
    $(function() {
        $("#text-one").change(function() {
            $("#text-two").load("textdata/" + $(this).val() + ".txt");
        });
              });
</script>
</head>
<body>
<div id="page-wrap">
    <h1>Pulls from text files</h1>
    <select id="text-one">
        <option selected value="base">Please Select</option>
        <option value="beverages">Beverages</option>
        <option value="snacks">Snacks</option>
    </select>
    <br />
    <select id="text-two">
        <option>Please choose from above</option>
    </select>

</div>
</body>

我需要在用户选择第一个下拉列表时显示第二个下拉列表

全面工作

jsfiddle

snacks.txt

<option value="coffee">Coffee</option>
<option value="coke">Coke</option>

4 个答案:

答案 0 :(得分:5)

将第二个下拉列表隐藏为默认

<select id="text-two" style="display :none">
        <option>Please choose from above</option>
    </select>

在内部更改第一个下拉列表时,显示

$(function() {
        $("#text-one").change(function() {
            $("#text-two").show();
            $("#text-two").load("textdata/" + $(this).val() + ".txt");
        });
              });

演示:http://jsfiddle.net/8hthxvf2/2/

Javscript fiddle- http://jsfiddle.net/RahulB007/Lnenuohd/

答案 1 :(得分:2)

如果txt文件是这样的

示例:snacks.txt

<option value="a">A</option>
<option value="b">B</option>
<option value="c">C</option>

javascript代码

$("#text-one").change(function() {
    $.get( "textdata/" + $(this).val() + ".txt", function(data) {
        $("#text-two").html( data );
    });
});

已编辑的代码

<script>
    $(function() {
       $("#text-one").change(function() {
           if(this.value != 'base'){
                $.get( "textdata/" + this.value + ".txt", function(data) {
                    $("#text-two").html( data ).show();
                });
           }else{
                $("#text-two").hide();
           }
        });
    });
</script>
</head>
<body>
    <div id="page-wrap">
        <h1>Pulls from text files</h1>
        <select id="text-one">
            <option selected value="base">Please Select</option>
            <option value="beverages">Beverages</option>
            <option value="snacks">Snacks</option>
        </select>
        <br />
        <select id="text-two" style="display: none;">
            <option>Please choose from above</option>
        </select>

    </div>
</body>

答案 2 :(得分:2)

你走了:

<select id="text-one">
        <option selected value="base">Please Select</option>
        <option value="beverages">Beverages</option>
        <option value="snacks">Snacks</option>
    </select>
<select id="text-two" style="display :none">

    </select>

JS:

$("#text-one").change(function() {

       if ($(this).val() != 'base')
       {
           $("#text-two").show();
          $("#text-two").load("textdata/" + $(this).val() + ".txt");

       }
    });

答案 3 :(得分:1)

检查this小提琴

代码已修改

    $(function () {
    $("#text-one").change(function () {
        if($('#text-one option:selected').index() >= 1)
            $('#text-two').show();        
        else
            $('#text-two').hide();

        $("#text-two").load("textdata/" + $(this).val() + ".txt");
    });
    $('#text-two').hide();
});