簡體   English   中英

如何在ASP.NET-MVC上使用JavaScript將DropDownListFor值更改回null?

[英]How to change a DropDownListFor value back to null with javascript on ASP.NET - MVC?

我有多個DropDownListFor分配給相同的變量,這些變量被隱藏並且僅在使用JavaScript激活某個單選按鈕時才可見。 問題是,如果您更改了DropDownListFor的值,然后更改了單選按鈕,則先前的DropDownListFor的值仍處於活動狀態,甚至不可見,而當我提交時,先前的DropDownListFor值就是被傳遞的值。

有沒有辦法在不重新加載頁面的情況下將所有DropDownListFor的值恢復為javascript中的默認“ null”?

查看代碼:

<h3>Tipo de Infraestrutura:</h3>

   <input type="radio" name="selectedLinhaType" id="150KV"/> 150kV <br>
   <input type="radio" name="selectedLinhaType" id="220KV"/> 220KV <br>
   <input type="radio" name="selectedLinhaType" id="400KV"/> 440KV <br>

    <div class ="infobox" id="is150KV">
        <fieldset>
            <h3>Linha 150KV:</h3>
            <p>@Html.DropDownListFor(m => m.SelectedLinha.NumLinha, ViewData["ListLinhas150"] as List<SelectListItem>, "")</p>
        </fieldset>
    </div>
    <div class ="infobox" id="is220KV">
        <fieldset>
            <h3>Linha 220KV:</h3>
            <p>@Html.DropDownListFor(m => m.SelectedLinha.NumLinha, ViewData["ListLinhas220"] as List<SelectListItem>, "")</p>
        </fieldset>
    </div>
    <div class="infobox" id="is400KV">
        <fieldset>
            <h3>Linha 400KV</h3>
            <p>@Html.DropDownListFor(m => m.SelectedLinha.NumLinha, ViewData["ListLinhas400"] as List<SelectListItem>, "")</p>
        </fieldset>
    </div>

Javascript:

    <script type="text/javascript">
    $(document).ready(function () {
        $('#is150KV').hide(); $('#is220KV').hide(); $('#is400KV').hide();
        $('#150KV').change(function () {
            $('#is220KV').hide(); $('#is400KV').hide();
            $('#is150KV').show();
        });

        $('#220KV').change(function () {
            $('#is150KV').hide(); $('#is400KV').hide();
            $('#is220KV').show();
        });

        $('#400KV').change(function () {
            $('#is150KV').hide(); $('#is220KV').hide();
            $('#is400KV').show();
        });
    })
    </script>

編輯:固定,添加ID到每個DropDownListFor,並在JavaScript上使用“ .attr”禁用/啟用它。 '.prop'也應該工作,但我沒有對其進行測試。

謝謝您的幫助。

與其簡單地隱藏下拉列表, 不如禁用它。 禁用的表單元素永遠不會提交。

$('#is220KV').attr('disabled', true).hide();

相反:

$('#is220KV').attr('disabled', false).show();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM