Я пытаюсь, чтобы флажки отображались как переключатели в моем ASP .NET MVC
веб-приложении. У меня есть 20-30 флажков, сгруппированных пополам. Для примера:Check/Uncheck using jQuery не работает
<input type="checkbox" id="@riggingType.RiggingTypeId 1" name="RiggingTypePlus"
value="@riggingType.RiggingTypeId"
checked="@riggingTypeIds.Contains(riggingType.RiggingTypeId)" />
<input type="checkbox" id="@riggingType.RiggingTypeId 2" name="RiggingTypeMinus"
value="@riggingType.RiggingTypeId"
checked="@riggingTypeIds.Contains(riggingType.RiggingTypeId)" />
Цель:
Я хочу сделать флажки, чтобы вести себя таким образом, что если Plus
флажок установлен, то Minus
снят автоматически, и наоборот. Я написал следующий код, чтобы попытаться достичь этой функции:
$(":checkbox").change(function() {
var inputs = $(this).parents("form").eq(0).find(":checkbox");
var idx = inputs.index(this);
if (this.name.substring(this.name.length - 4, this.name.length) === "Plus") {
// just trying to check if I am getting the right it
// and I am getting the right id
// alert(inputs[idx + 1].id);
// But this does not work
$("#" + inputs[idx + 1].id).prop('checked', false);
}
});
я делаю что-то здесь не так:
$("#" + inputs[idx + 1].id).prop('checked', false);
Любая помощь будет оценена.
Я знаю, что я могу использовать радиокнопки и группировать их по одному имени, но я обрабатываю элементы в цикле, чтобы все они имели одно и то же имя, но разные значения, и я не хочу называть их по-другому, потому что я я использую эти данные на стороне сервера ... Есть ли лучший способ сделать это?
Ответ:
получил эту работу, используя следующие:
$(document).ready(function(){
$(":checkbox").on('click', function() {
var $this = $(this);
var inputs = $this.closest("form").find(":checkbox");
if ($this.attr('name').substring(this.name.length - 4, this.name.length) === "Plus" && $this.attr('checked')) {
$this.next().prop('checked', false);
}
else
{
$this.prev().prop('checked', false);
}
});
});
Если и сделать скрипку - я решить уры проблемы (его неверно - есть теги с одинаковым идентификатором - попробуйте создать разные идентификаторы. – Legendary
Оба флажка имеют одинаковый идентификатор. Последний флажок, вероятно, всегда будет отменен. Идентификаторы всегда должны быть уникальными. –
@KJPrice oh, get it, dont внимание на теге, ty – Legendary