Это то, что у меня есть до сих пор. У меня есть представление, в котором отображается дата, о которой я не сообщал.Выберите несколько элементов с помощью javascript/asp.net
Моя идея - отметить даты, когда я хочу сообщить время, поэтому я могу сообщить время для нескольких дат, и если бы я проверил дату, я не хочу сообщать об этом, просто снимите этот флажок.
У меня это работает, (kinda) Проблема в том, что если я хочу выбрать дату, мне всегда нужно будет выбрать первое в списке, прежде чем я смогу проверить любую другую дату.
Это прекрасно работает до тех пор, как я всегда выбираю первую дату в списке.
Но это не то, что я ищу, я хочу вариант, чтобы я мог сообщать любые данные без предварительной проверки первой даты. Это не будет работать, потому что я не проверял первую дату:
Это мой сценарий:
var dateArr=new Array();
function SetDate(dt) {
if(document.getElementById("isoDate").checked) {
if(dateArr.indexOf(dt)<0){ //Check if date is already added. if not add it to array.
dateArr.push(dt);
}
else{
var index=dateArr.indexOf(dt);
if (index > -1) {
dateArr.splice(index, 1);//Remove from array if checkbox uncheck
}
}
$('#date').val(dateArr.join(" ")); //Add space separated string to the #date element.
}
}
И это мой взгляд, где я получаю даты:
@foreach (var date in ViewBag.MissingDays)
{
var isoDate = date.ToString("yyMMdd");
<div class="col-md-1">
<input type="checkbox" id="isoDate" name="isoDate" value="@isoDate"onclick="javascript:SetDate('@isoDate');" />
@isoDate
</div>
}
Я немного не уверен в этой строке 'input [name = "isoDate"]' что это значит? –
Это селектор. Постарайтесь узнать больше о селекторах jquery, это будет хорошее место для запуска: https://api.jquery.com/attribute-equals-selector/. На самом деле вы уже использовали селекторы в своей строке: $ ('# date'). Val (dateArr.join ("")); – avi
Действительно, просто никогда не видел, как вы это делали раньше. По какой-то странной причине я не заставляю его функционировать так, как должен, значения не меняются. Но он работает над Jsfiddle, так что это что-то на моем конце. Спасибо за быстрый ответ. –