В настоящее время я пытаюсь получить строки из диапазонов и сохранить их в строковой переменной javascript. Затем я пытаюсь передать данные, когда нажимаю на кнопку поиска, которая является HTML.ActionLink.
Для простоты я добавил только соответствующие биты кода.
Это код внутри моего представления:
Это часть JavaScript:
<script type="text/javascript">
$(document).ready(function () {
$(document).on('click', '#search', function () {
var tags = '';
var spans = document.getElementById('imaginary_container').getElementsByTagName('span'),
obj = {};
for (var i = 0, l = spans.length; i < l; i++) {
obj[spans[i].id] = spans[i].textContent || spans[i].innerText;
tags.concat(obj[spans[i].id]);
}
// save private tags
})
});
Тогда у меня есть этот div ниже, где у меня есть кнопка:
<div class="buttonBox">
@Html.ActionLink("Search",
"SearchAll",
"Search",
new { tags = ViewBag.Tags },
new
{
@class = "btn btn-primary",
}
)
</div>
</div>
Я исследовал эту проблему, и люди говорят, что это либо невозможно, либо есть устаревшие ответы. Однако, если я иду в неправильном направлении, может кто-нибудь указать, как это сделать?
Больше контекста:
Приложение отображает теги на главной странице, которые вы можете щелкнуть и переместить в другой div в виде диапазона, мне нужно, чтобы данные выбранных тегов были отправлены обратно в виде строки, чтобы я мог запросить ответ на другой странице, отобразить файлы и ссылки, которые ссылаются к этим тегам.
Главная страница
Обновление:
Я добавил форму с сообщением и скрытым вводом, где я храню
значения пролетов.
Функция javascript, которая также работает с изменением положения тегов, теперь также
добавляет внутренний текст интервалов к моему скрытому вводу.
$(document).ready(function () {
$(document).on('click', '.delete-button', function () {
var newSpan = document.createElement('span');
document.getElementById('imaginary_container').appendChild(newSpan);
newSpan.innerHTML = $(this).html();
var tags = $("#tags");
var tags = "";
var spans = document.getElementById('imaginary_container').getElementsByTagName('span'),
obj = {};
tags += spans[0].innerText;
for (var i = 1, l = spans.length; i < l; i++) {
tags += ',' + spans[i].innerText;
}
$("#tags").val(tags);
$(this).remove();
})
});
и простой скрытый ввод:
<input type="hidden" id="tags" name="Tags" />
Теперь это прекрасно работает!