1

ユーザーが滞在したい場所をいくつか選択できるフォームがあり、各場所に行く時間を指定する必要がありますが、最初に、すべての場所に行く予定の一般的な日数を入力する必要がありますたとえば、最初の場所で2日、2番目の場所で3日、2つの場所に滞在したい場合は、最初に5日を入力してから、滞在したい場所を選択して、場所ごとに何日か指定する必要があります。そこにいたい。ユーザーが場所に間違った日数を入力するのを防ぐために、場所ごとに選択要素を作成したので、ユーザーが一般的な日数を入力すると、選択要素にその情報(1からのオプション)を入力します。日数まで)、それはうまく機能しています、

function fillUpSelects2(start, top, who) {

    var optionArray = new Array();

    // create the new options
    for (var i = 1; i <= top; i++) {
        optionArray.push(new Option(i, i));
    }

    // get all the select elements
    var selects = jQuery("select.estanciaselect");

    // loop through the selects to change their content
    for (var i = 0; i < selects.length; i++) {

        // if selects[i] is not the one who triggered the change event
        if (selects[i].getAttribute('id') != who) {

            // then I erase all its options
            selects[i].options.length = 0;

            //and here is where it is supposed to add the new options
            for (var j = 0; j < optionArray.length; j++) {
               selects[i].options[selects[i].options.length] = optionArray[j];
            }
        }
    }
}

これを実行すると、すべての選択が空になりますが、最後の選択は適切に埋められます

4

2 に答える 2

1

jQueryを使用している場合は、jQueryを使用してそれらを追加することもできます。

for (var i = 1; i <= top; i++) {
    $(".selects").prepend($("<option>")
                              .val(i)       // Might have to use .attr("value", i) instead
                              .html(i));
}

これは、使用できる2つのオプション(上記のものを含む)を示すjsFiddleですが、他にもたくさんあります。

http://jsfiddle.net/tRHYk/

于 2012-09-28T15:03:10.567 に答える
0

以下は、複数選択にアイテムを追加する方法に関するアプローチです(ただし、質問に対する直接の回答ではありません)。

<script src="http://ajax.aspnetcdn.com/ajax/jquery/jquery-1.9.0.js"></script>
<script type="text/javascript">
    $(document).ready(function () {

        var o = new Option("option text", "value");
        $(o).html("option text");
        $("#leftValues").append(o);

    });
</script>

<select id="leftValues" size="5" multiple></select>

jQueryを使用した<select>へのオプションの追加を参照してください。それも

于 2013-08-23T06:05:35.543 に答える