0

以下のコードは、次のことを行います。ユーザーがドロップダウンから SVN ブランチを選択します。これにより、関連するモジュールが別のドロップダウン内にある別のページが読み込まれます。正常に動作し、2 番目のドロップダウン ( ) が選択されていないContinue場合、ボタンは無効になります。module_nameただし、戻って最初のドロップダウンから別のブランチを選択すると、Continueボタンがアクティブになり、リセットして無効にする必要があります。

HTML コード

<select name="branch_name" id="branch_name">
    <option value="">-- Select a branch --</option>
<?php
    foreach($results as $k) {
        echo "<option value='{$k}'>{$k}</option>";
    }
?>
</select>

<select name="module_name" id="module_name">
    <option value="">-- Select a module --</option>
<?php
    foreach($results as $k) {
        echo "<option value='{$k}'>{$k}</option>";
    }
?>
</select>

JS コード

$(document).on('change', '#module_name', function(){
    $('#continue').prop('disabled', $('#module_name option:selected').length == '');
});

$('#branch_name').on("change", function() {
    $('#output').load('/tags/module',{branch_name: $(this).val()});
});

動作する新しい JS コード

$(document).on('change', '#module_name', function(){
    $('#continue').prop('disabled', $(this).val() =='');
});

$('#branch_name').on("change", function() {
    $("#continue").attr("disabled", "disabled");
    $('#output').load('/tags/module',{branch_name: $(this).val()});
});
4

1 に答える 1

1

lengthは数値であり、テストはoption選択に があるかどうかをチェックしていたので、等しくなりません''

    /* checks how many eleemnts match selector, will return "0" if none exist*/
    $('#module_name option:selected').length

val()選択に値があるかどうかを確認するために使用します

$(document).on('change', '#module_name', function(){
    $('#continue').prop('disabled', $(this).val() =='');
});
于 2013-01-13T02:34:15.650 に答える