Показать сообщение отдельно
  #1 (permalink)  
Старый 05.01.2016, 16:50
Аспирант
Отправить личное сообщение для razorg1991 Посмотреть профиль Найти все сообщения от razorg1991
 
Регистрация: 10.11.2012
Сообщений: 98

Проблемы с элементами select и input
Есть следующий html

<table>
    <tbody>
    <!--шапка-->
        <tr>
            <th>
                <select id="column_1" class="product-fields">
                    <option id="opt_1" selected="selected">opt_1</option>
                    <option id="opt_2">opt_2</option>
                    <option id="opt_3">opt_3</option>
                    <option id="opt_4">opt_4</option>
                </select>
            </th>
            <th>
                <select id="column_2" class="product-fields">
                    <option id="opt_1" selected="selected">opt_1</option>
                    <option id="opt_2">opt_2</option>
                    <option id="opt_3">opt_3</option>
                    <option id="opt_4">opt_4</option>
                </select>
            </th>
            <th>
                <select id="column_3" class="product-fields">
                    <option id="opt_1" selected="selected">opt_1</option>
                    <option id="opt_2">opt_2</option>
                    <option id="opt_3">opt_3</option>
                    <option id="opt_4">opt_4</option>
                </select>
            </th>
        </tr>
        
        <!--тело-->
        <tr>
            <td>Ячейка 1
                <input type="hidden" name="" class="column_1" value="ячейка_1" />
            </td>
            <td>Ячейка 2
                <input type="hidden" name="" class="column_2" value="ячейка_2" />
            </td>
            <td>Ячейка 3
                <input type="hidden" name="" class="column_3" value="ячейка_3" />
            </td>
        </tr>
        <tr>
            <td>Ячейка 1
                <input type="hidden" name="" class="column_1" value="ячейка_1" />
            </td>
            <td>Ячейка 2
                <input type="hidden" name="" class="column_2" value="ячейка_2" />
            </td>
            <td>Ячейка 3
                <input type="hidden" name="" class="column_3" value="ячейка_3" />
            </td>
        </tr>
        <tr>
            <td>Ячейка 1
                <input type="hidden" name="" class="column_1" value="ячейка_1" />
            </td>
            <td>Ячейка 2
                <input type="hidden" name="" class="column_2" value="ячейка_2" />
            </td>
            <td>Ячейка 3
                <input type="hidden" name="" class="column_3" value="ячейка_3" />
            </td>
        </tr>
    </tbody>
</table>


Нацарапал (назвать это "написал" не могу, php все-таки проще дается ) следующий код

// Выполняем весь скрипт по окончанию загрузки документа
$(document).ready(function() {
    alert('Скрипт загружен');
    
    // Логика следующая
    // По событию change select: 
    // Получаем id активного option
    // Получаем id родителя выбранного option (им является id select, он же номер колонки th)
    // Устанавливаем атрибут name input'a равное id выбранного option, где id родителя option = классу input
    
    // отслеживаем событие выбора select
    $('select.product-fields').change(function() {
        
        // получаем id активного option
        var option_id = $('select.product-fields option:selected').attr('id');
        alert(option_id);
        
        // Получаем id родителя выбранного option
        var option_parent = $('select.product-fields option:selected').parent().attr('id');
        alert(option_parent);
        
        // Устанавливаем атрибут name input'a равное id выбранного option, где id родителя option = классу input
        $('input.'+option_parent).each(function() {
            $(this).attr('name', option_id+'[]');
        });
        
    });
    
});


Ошибок в консоли нет, скрипт не кэшируется (проверял).

Но скрипт не работает почему-то Выводит только "Скрипт загружен" и все.
Хочу сделать, чтобы при выборе соответствующего option из select, айдишник выбранного option присваивался атрибуту name инпутов (для последующей отправки на сервер) в соответствующей колонке. Но че-то по-моему даже выборка select не срабатывает

Где я напортачил? Еще правильно ли я использовал this?
Ответить с цитированием