Nano Hash - криптовалюты, майнинг, программирование

изменение выбранного значения раскрывающегося списка с помощью jquery

У меня есть раскрывающийся список (yii framework), в котором я хотел бы изменить выбранное значение. это выпадающий список:

<?php
                $t = is_null($dataProvider[$key]['room']) ? 'NA' : $dataProvider[$key]['room'];

                echo 'Room Number : ' . CHtml::dropDownList(Rooms::model(), 'roomID', CHtml::listData(Rooms::model()->findAll(array(
                                    'condition' => 'status = :status or roomID = :roomID',
                                    'params' => array(
                                        ':status' => 'ready',
                                        ':roomID' => $dataProvider[$key]['room']
                                    )
                                )), 'roomID', 'roomID'), array('id' => 'room', 'class' => 'ui-widget-content', 'empty' => 'NA',
                'options' => array($t => array('selected' => true))))
                ;
                ?>

Теперь этот выпадающий список является дочерним элементом родителя, которого я хотел бы клонировать, чтобы я мог использовать его снова, поэтому я использовал это, чтобы клонировать его:

var test =$("#users-contain").children(':last').clone(true,true);
        test.children("#room option[value='3']").attr('selected', 'selected');
        test.children('table').children('tbody').children('tr').empty();
        var inner = test.clone(true,true);

Я буду использовать внутреннюю переменную, чтобы изменить несколько вещей в элементе и клонировать его на странице. Теперь вот моя проблема. Для моего нового клона, который является тестом var, я хотел бы изменить выбранное значение выпадающего списка, но он вообще не работает, я пробовал это:

test.children("#room option[value='3']").attr('selected', 'selected');

и это :

test.children('#room').val(3);

Ничего не работает, я также пробовал другие вещи, которые я не помню, однако я должен отметить, что используя последний, когда я отлаживаю его с помощью:

console.log(test.children("#room").val());

он выводит правильное значение «3», однако, когда я отображаю его на странице, выбранное значение старого раскрывающегося списка не изменяется. это результат:

<select id="room" class="ui-widget-content" name="">
<option value="">NA</option>
<option value="1">1</option>
<option value="2" selected="selected">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
</select>

Заранее спасибо.


Ответы:


1

Строка test.children("#room option[value='3']").attr('selected', 'selected') имеет основную идею, но children получает только дочерние элементы и фильтрует их. Таким образом, он получит #room, но не получит элементы option, потому что <option> являются внуками test. Вместо этого используйте find, который просматривает все элементы-потомки. Вот код:
test.find("#room option[value='3']").attr('selected', 'selected')

11.08.2012
Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..