Получить проверенное значение переключателя в javascript
Привет
В моей HTML-таблице я хочу получить проверенное значение для каждой строки в моей таблице, но оно продолжает возвращать false, даже зная, что я его выбираю
Что я уже пробовал:
$(document) .ready(function () { var myUrl = $("#myUrl").val(); var arrayDetails = new Array(); var row = 1; function NewEntry(area, process, value1, value2, value3, comment) { this.Area = area; this.Process = process; this.Value1 = value1; this.Value2 = value2; this.Value3 = value3; this.Comment = comment; } // dropdown change $('#ProList').on('change', function () { var selectedValue = $('#ProList').val(); $.ajax({ type: "GET", url: myUrl1, contentType: "application/json; charset=utf-8", datatype: JSON, data: { 'proList': selectedValue }, success: function (result) { $("#mainData").empty(); $.each(JSON.parse(result), function (i, item) { var row = i + 1; $("#mainData").append( "" + "" + item.Process + "" + "" + item.Checks + "" + "" + "<div class="btn-group" data-toggle="buttons" "="" +="">" + "<label class="btn btn-success" "="" +="">" + "<input type="radio" name="options1" id="green_" + row + "" "="" +="">" + "<span class="glyphicon glyphicon-ok" "="" +=""></span>" + "</label>" + "<label class="btn btn-warning" "="" +="">" + "<input type="radio" name="options2" id="yellow_" + row + "" "="" +="">" + "<span class="glyphicon glyphicon-ok" "="" +=""></span>" + "</label>" + "<label class="btn btn-danger" "="" +="">" + "<input type="radio" name="options3" id="red_" + row + "" "="" +="">" + "<span class="glyphicon glyphicon-ok" "="" +=""></span>" + "</label>" + "" + "<textarea id=" + " '"="" +="" "comments_"="" row="" "'"="" "type="text" placeholder="" class="form-control input-md"></td>" + "</tr>"); }); }, error: function () { } }); }); // submit event <pre> $("#subButton").click(function () { var rowCount = $('#mainData >tr').length; for (var i = 1; i <= rowCount; i++) { var areaEntered = document.getElementById("process_" + i).innerText; var processEntered = document.getElementById("checks_" + i).innerText; var valueEntered1 = document.getElementById("green_" + i).checked; var valueEntered2 = document.getElementById("yellow_" + i).checked; var valueEntered3 = document.getElementById("red_" + i).checked; var commentEntered = document.getElementById("comments_" + i).value; var entry = new NewEntry(areaEntered, processEntered, valueEntered1, valueEntered2, valueEntered3, commentEntered); arrayDetails.push(entry); } sendToController(); }); function sendToController() { $.ajax({ type: "POST", url: myUrl, contentType: "application/json; charset=utf-8", datatype: JSON, data: JSON.stringify({ methodParam: arrayDetails }), success: function () { alert(" Click Ok to return"); }, error: function () { alert(test); } }); } });</textarea></div>
Karthik_Mahalingam
разнесите код разметки таблицы
Member 11596389
я добавил Это ниже
Karthik_Mahalingam
попробуйте вызвать этот код
$("#subButton").click(function () { var rowCount = $('#mainData >tr').length; for (var i = 1; i <= rowCount; i++) { var areaEntered = document.getElementById("process_" + i).innerText; var processEntered = document.getElementById("checks_" + i).innerText; var valueEntered1 = document.getElementById("green_" + i).checked; var valueEntered2 = document.getElementById("yellow_" + i).checked; var valueEntered3 = document.getElementById("red_" + i).checked; var commentEntered = document.getElementById("comments_" + i).value; var entry = new NewEntry(areaEntered, processEntered, valueEntered1, valueEntered2, valueEntered3, commentEntered); arrayDetails.push(entry); } sendToController(); });
на последнем рубеже событие Success в AJAX-вызов.
Member 11596389
уверен, что это тот же самый код??
Karthik_Mahalingam
запустите этот код в окне консоли и посмотрите, получаете ли вы значение
документ.метода getElementById("process_1").через свойство innerText;
Member 11596389
да я получаю правильный идентификатор для каждого элемента в моей таблице
Karthik_Mahalingam
разместите оповещение и проверьте, зарегистрировано ли событие щелчка
$("#subButton").click(функция () {
тревога("привет");
Member 11596389
Картик
событие щелчка зарегистрировано, это не проблема, проблема в том, что я получаю значение false обратно, когда оно должно быть истинным
спасибо
Karthik_Mahalingam
ладно
если вы запускаете это в консоли, какое значение вы получаете, true или false
document.getElementById("green_1" ).проверено;
Member 11596389
значение, которое я получаю, ложно, и оно должно быть истинным, потому что оно было проверено
спасибо
Karthik_Mahalingam
это список переключателей или флажок?
быть более конкретным,
ваш код показывает как тип="радио" но вопросы говорят: флажок
Member 11596389
извините, Картик, это переключатель, нужно ли мне делать это по-другому
Karthik_Mahalingam
вам нужно выбрать только один вариант или 3?
если это переключатель вы не можете снять его по отдельности
Member 11596389
Картик, мне нужно просто выбрать один вариант
Karthik_Mahalingam
обратитесь к этому и посмотрите, какую ошибку вы совершили
переключатель[^]
Member 11596389
Привет, когда я меняю флажок input type a, он работает так, как я хочу, чтобы он работал, только пользователи могут выбрать более одного варианта. ему просто почему-то не нравятся переключатели, проверяющие данные, последняя строка в таблице дает правильное значение, а остальные строки-нет
Karthik_Mahalingam
хорошо, мы опубликуем решение.
Member 11596389
спасибо
F-ES Sitecore
Ваш код в порядке, поэтому проверьте разметку, убедитесь, что есть флажок с идентификатором process_1 и т. д. И только один с этим идентификатором.
Member 11596389
да, я проверил это, идентификаторы совпадают