Я хочу получить имя панели с помощью javascript, который будет расширяться. Я динамически показываю список панелей @ item.Name.Когда я расширяю любой из них, я пытался получить это расширенное имя панели ... var panelId = $ ("# коллапс") атр ("имя"). Но я получил только 1-е имя панели.Как я могу получить имя панели javascript?
Во-первых, я бы сказал, что хочу отправить файл ajax контроллеру с параметром имени панели панели расширения. Теперь я хочу получить имя панели в функцию sumit, а затем перейти к контроллеру.
индекс
<div class="panel panel-info class" style="height: 450px; width: 300px; overflow-y:scroll;">
@foreach (var item in lstCategory)
{
<div class="panel-heading" id="panel-heading">
<h4 class="panel-title">
<a data-toggle="collapse" onclick="collapse(@item.Id);" name="@item.Name" id="collapse" href="#@item.Id">@item.Name</a>
</h4>
</div>
<div id="@item.Id" class="panel-collapse collapse in">
<div id="[email protected]">
</div>
</div>
}
</div>
<form id="form" name="form" enctype="multipart/form-data" method="post">
@*<label class="btn btn-block btn-primary">
Browse … <input type="file" name="file" class="filestyle" id="file" style="display: none;" />
</label>*@
<span class="btn btn-default btn-file" id="browse"style="width:100%;">
<input type="file" name="file" class="filestyle" id="file" />
@*<input type="file">*@
</span>
<input type="submit" name="Submit" class="btn" id="Submit" value="Submit" style="width:100%;margin-top:5px;" disabled>
</form>
Javascript
var panelId = $("#collapse").attr("name");
alert("Panel name :" + panelId);
$(document).ready(function (e) {
$('#Submit').click(function (event) {
var file = $("file").data();
var panelId = $("#collapse").attr("name");
alert("Panel name :" + panelId);
var formData = new FormData();
var totalFiles = document.getElementById("file").files.length;
for (var i = 0; i < totalFiles; i++) {
var file = document.getElementById("file").files[i];
formData.append("file", file);
}
alert(file);
$.ajax(
{
url: '@Url.Action("Upload","Document")',
type: "POST",
data: { file: formData, Id: panelId },//{ file: formData, value: dam },//formData,
processData: false,
contentType: false,
success: function (response) {
console.log(response);
},
error: function (error) {
console.log(error);
},
});
})
});
Вы не можете иметь дублированные идентификаторы ('collapse') на вашей странице. –
Пожалуйста, объясните, на каком языке это? '@foreach (элемент var в lstCategory)' Я не верю, что это javascript или html. – BobRodes
Использование может использовать $ (this), чтобы получить имя активного тега –