[英]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.