2

私はフォームを作成しています。このフォームでは、新しいチームを選択してその場所を入力するか、リストからチームを選択した場合は入力を無効にし、選択したチームの場所を入力ボックスに入力します。 。これはこれまでの私のコードです。動作しません。:(

<select id="chooseTeam" name="chooseTeam" data-placeholder="Select Team">
    <option></option>
    {% for team in teams %}
    <option>{{team.name}}</option>
    {% endfor %}
    <option>New Team</option>
</select>

<input type="text" id="input_location" name="input_location"/>

別のJSファイル:

$(document).ready(function() {
    $('#chooseTeam').on('blur', function() {
        if (form.chooseTeam.value != "New Team" && form.chooseTeam.value != "Select Team") {
            $("#input_location").html("{{team.location}}");
            document.getElementById("input_location").disabled = true;
        }
    });
});

ミニアップデート

どうやら、これにはAJAXが必要です。私はJavascript(3日齢)を初めて使用するので、AJAXがどのように機能するかはまだわかりませんが、現時点では、それを調べて理解しようとしています。


ああ、そしてメリークリスマス、みんな!

「#code-on-christmas」

4

1 に答える 1

1

DjangoとjQueryを使用しているようです。本当?現時点では完全に詳細な回答を提供することはできませんが、クライアント側とサーバー側のコードが混在しているため、次の行のコードは機能しません。

$("#input_location").html("{{team.location}}");

{{team.location}}はブラウザのクライアント側にのみ存在するため、Djangoで評価することはできません。Djangoにクライアント側で選択されたものを評価させたい場合は、を使用してサーバーとクライアント間でAJAX呼び出しを使用する必要があります$.ajax()

また、すべてのコードにjQueryセレクターを使用してみませんか?このようなことをします:

$(document).ready(function() {
    $('#chooseTeam').on('blur', function() {
        var currentTeam = $(this).val();
        if (!$.inArray(currentTeam, ['New Team', 'Select Team'])) {
            $("#input_location").attr('disabled', 'disabled');
        }
    });
});
于 2012-12-25T18:10:57.790 に答える