Member 11596389 Ответов: 1

Получить проверенное значение переключателя в 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

да, я проверил это, идентификаторы совпадают

1 Ответов

Рейтинг:
1

Karthik_Mahalingam

сделайте свойство name одинаковым для всех переключателей, чтобы сгруппировать его.

<input type=" radio" name="Colors" id="green_" + row + "" "=" " +=" ">"
     "<input type=" radio" name="Colors" id="yellow_" + row + "" "=" " +=" ">" +
     "<input type=" radio" name="Colors" id="red_" + row + "" "=" " +=" ">"