@konstantinborodov

Как возвратить val чекбокса, при наведении на строку таблицы?

Есть таблица вида в которой в первом столбце чекбоксы в остальных данные.
<tr class="mater" id="ch_poliester04_row">
                                <td>
                                    <label for="ch_poliester04">
                                        <input class="mater_checkbox" id="ch_poliester04" name="ch_poliester04" type="checkbox"
                                        value="122">
                                        <span class="mater_text">Полиэстер 0.4</span>
                                    </label>

                                </td> и т.д.


Чекбокс меняет состояние нажатием на строку, при этом в таблице может выбран только один чекбокс

1 часть:
$(".mater_checkbox").on("change", function () {
        $(".mater_checkbox").not(this).prop("checked", false);
    }); //// Выключаем другие чекбоксы


2 часть:
$("#pr_poliester04_row").on("click", function () {
        if ($("#pr_poliester04").prop("checked") === false) {
            $(".mater_checkbox").prop("checked", false);
            $("#pr_poliester04").prop("checked", true);
        } else {
            $("#pr_poliester04").prop("checked", false);
        }
    }); //// Поведение строки и опять таки выключение других чекбоксов


Задача - возвратить val из активного чекбокса и присвоить в переменную. Пока предпринято вот это:

$(".mater_checkbox").change(function() {
         var a = $(".mater_checkbox:checked").val();
         console.log(a);
     });


Но при нажатии на строку несмотря на то что галочка ставится значение не возвращается, хотя при нажатии на сам чекбокс все ок. Запутался.
  • Вопрос задан
  • 112 просмотров
Решения вопроса 1
@konstantinborodov Автор вопроса
Решил сам.

$(".mater").click(function () {
        if ($(".mater_checkbox:checked").length > 0) {
            mater_price = $(this)
                .children("td")
                .children("label")
                .children("input")
                .val();
            console.log(mater_price);

        } else {
            mater_price = 0;
            console.log(mater_price);
        }
    });
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
23 нояб. 2024, в 01:31
1000 руб./за проект
23 нояб. 2024, в 00:16
2000 руб./за проект