我有一個這樣的選擇串列
<select asp-for="FileTypeIndex" class="form-control" id="FileTypeIndex" asp-items="Html.GetEnumSelectList<FileTypeIndex>()"></select>
<input type="file" class="form-control " accept="*.*" id="productfile" name="productfile">
我想根據 JQuery 選擇的 FileTypeIndex 更改檔案輸入的接受屬性
$('#FileTypeIndex').on('change',function() {
var filytypeIndex=$('#FileTypeIndex').val();
switch(filytypeIndex) {
case 1:
$('#productfile').attr("accept", ".pdf");
break;
case 2:
case 5:
$('#productfile').attr("accept", ".mp4,.avi");
break;
case 3:
$('#productfile').attr("accept", ".mp3");
break;
case 4:
$('#productfile').attr("accept", ".jpg");
break;
default:
}
});
但它始終是“ . ”,并且不會改變
uj5u.com熱心網友回復:
您只需使用javascript 的函式將filytypeIndex變數的資料型別更改為數字。Number()
因為在 switch case 中給出 1,2,3 ...它是數字
您的最終代碼如下
$('#FileTypeIndex').on('change', function () {
var filytypeIndex = Number($('#FileTypeIndex').val());
switch (filytypeIndex) {
case 1:
$('#productfile').attr("accept", ".pdf");
break;
case 2:
case 5:
$('#productfile').attr("accept", ".mp4,.avi");
break;
case 3:
$('#productfile').attr("accept", ".mp3");
break;
case 4:
$('#productfile').attr("accept", ".jpg");
break;
default:
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select asp-for="FileTypeIndex" class="form-control" id="FileTypeIndex" asp-items="Html.GetEnumSelectList<FileTypeIndex>()">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select>
<input type="file" class="form-control " accept="*.*" id="productfile" name="productfile">
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/486621.html
標籤:javascript html jQuery
