0

ラジオボタンを選択すると、データベースにクエリを実行し、選択リストにデータを入力するか、ユーザー入力のために選択をテキストボックスに変更するフォームがあります.(ほとんどの場合、テキストボックスの後に選択に戻ることはありません.

次に、選択またはテキストボックスから値を取得して、文字列変数に入れます。それから私はそこからそれを取ることができると思います。私は願います。(文字列を使用してクエリを実行し、ゼッケン番号を設定するための他の情報を取得します)

ここに私のJS/phpがすべてを試しています

$(document).ready(function () {
    var bibfield = "";

    $('#a1').change(function () {
        //$('#hiddenText').hide();  
        $('#hidden').empty();
        //$('#hidden').show();
        $.each(arrayShort, function (i, val) {
            $('#hidden').append('<option value="' + val + '">' + val + '</option>');
        });
    });

    $('#a2').change(function () {
        //$('#hiddenText').hide();
        $('#hidden').empty();
        //$('#hidden').show();
        $.each(arrayLong, function (i, val) {
            $('#hidden').append('<option value="' + val + '">' + val + '</option>');
        });
    });

    $('#a3').change(function () {
        //$('#hidden').hide();
        //$('#hiddenText')show();

        $('#hidden').replaceWith('<input name="hidden" id="hiddenText" type="text" size="26" >');

    });
})

ここに私のフォームがあります

<input name="btn1" id="a1" type="radio" value="Radio button 1" />
<input name="btn1" id="a2" type="radio" value="Radio button 2" />
<input name="btn1" id="a3" type="radio" value="Radio button 3" />
<select id="hidden" name="hidden">
  <option selected></option>
</select>
<input type="text" name="sBib" />
<input type="text" name="eBib" />

a1またはa2がチェックされている場合は選択を入力する必要がありますが、a3がチェックされている場合は選択をテキストボックスに置き換える必要がありますが、変数bibfieldを入力してクエリできるようにします

これは初めてで、私はとても疲れていて、まっすぐに考えることができません。すべての助けに感謝します!!!

4

1 に答える 1

0

ここで、hidden を hiddenText に置き換えて、既になくなった hidden を見つけようとして、選択または入力全体を同じ id="hidden" に置き換えている以下のようにコードを修正する必要があります。

$(document).ready(function () {
        var bibfield = "";
        // variable to indicate if select dropdown is available already otherwise create new
        var selectAvailable=true;
        $('#a1').change(function () {
            //$('#hiddenText').hide();  
            //$('#hidden').empty();
            //$('#hidden').show();
            $.each(arrayShort, function (i, val) {
                if(selectAvailable)
        {
        $('#hidden').append('<option value="' + val + '">' + val+ '</option>');
        }
        else
        {
                selectAvailable=true;
            $('#hidden').replaceWith('<select id="hidden" name="hidden">
                <option value="' + val + '">' + val + '</option></select>');
        }
            });
        });

        $('#a2').change(function () {
            //$('#hiddenText').hide();
           // $('#hidden').empty();
            //$('#hidden').show();
            $.each(arrayLong, function (i, val) {
            if(selectAvailable)
        {
            $('#hidden').append('<option value="' + val + '">' + val + '</option>');
        }
        else
        {
        selectAvailable=true;
            $('#hidden').replaceWith('<select id="hidden" name="hidden">
                <option value="' + val + '">' + val + '</option></select>');
        }

        });

        $('#a3').change(function () {
            //$('#hidden').hide();
            //$('#hiddenText')show();
           selectAvailable=false;
            $('#hidden').replaceWith('<input name="hidden" id="hidden" type="text" size="26" >');

        });
    });
于 2012-11-13T20:59:07.177 に答える