Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP: Yii, Yii2
Войти
Регистрация
Восстановить пароль
 
maruna011989
0 / 0 / 0
Регистрация: 02.08.2015
Сообщений: 26
1

Связать 2 поля

16.10.2017, 15:48. Просмотров 140. Ответов 1
Метки нет (Все метки)

Всем привет, подскажите как решить проблему следующего характера:
при выставлении товара нужно связать 2 поля "тип аукциона" и "продолжительность торгов" таким образом что бы если выбирается "Стандартный аукцион" то светятся только варианты 3 и 7 часов, если же "Фиксированная цена" то светятся только варианты 12 часов и 1 день.




Код выбора типа аукциона с параметрами
Код
function changeTransaction(e) {
    var val = $("input[name=\"FormCreateLot[type_transaction]\"]:checked").val();
    switch(val){
        case "0":// Standart
            $("label[for=\"FormCreateLot_starting_price\"]")
                .html("'.Yii::t('basic','Starting price').'")
                .append(" <span class=\"required\">*</span>")
                .addClass("required");

            $("label[for=\"FormCreateLot_price\"]")
                .html("'.Yii::t('basic','Buy Now').'").removeClass("required").find("span.required");

            $("#FormCreateLot_starting_price").val(0).removeAttr("style");
            $("#starting_price_block").show();
            $("#price_block").show();

            break;

    
    
        case "1"://fix price
            $("label[for=\"FormCreateLot_price\"]").html("'.Yii::t('basic','Buy Now').'").append(" <span class=\"required\">*</span>").addClass("required");
            $("#price_block").show();
            $("#starting_price_block").hide();
            break;

        case "2":// from $1
            $("#FormCreateLot_starting_price").css({"border":"none","font-weight":"bold","color":"#009900","background" : "none"}).val("5");
            $("label[for=\"FormCreateLot_starting_price\"]").removeClass("required").find("span.required").remove();
            $("#FormCreateLot_starting_price").parent().show();
            $("#price_block").hide();
            break;

    }
}

Код вывода типа торгов
Код
 <div class="row">
        <div class="col-xs-3 left_col">
            <p><?= Yii::t('basic', 'Auction\'s type') ?></p>
        </div>
        <div class="col-xs-9 right_col">
            <?php echo $form->error($model, 'type_transaction'); ?>
            <?php
            echo CHtml::radioButtonList(
                    CHtml::activeName($model, 'type_transaction'), 0, array(
                Auction::TP_TR_STANDART => Yii::t('basic', 'Standart auction'),
                Auction::TP_TR_START_ONE => Yii::t('basic', 'From'). ' ' . PriceHelper::formate(5),
                Auction::TP_TR_SALE => Yii::t('basic', 'Fix price')
                    ), array(
                'id' => 'type_transaction',
                'template' => '<div class="radio-inline">{input}{label}</div>',
                'separator' => "\n"
                    )
            );
            ?>
            <div class="input_block">
                <div id="starting_price_block" class="div3">
                    <?php
                    echo $form->label($model, 'starting_price', [
                        'required' => true,
                        'label' => Yii::t('basic', 'Starting price')
                    ]);
                    ?><br>
                    <?php echo $form->textField($model, 'starting_price', ['class' => 'form-control width_input_short', 'onkeyup' => 'validatePrice(this)']); ?>
                    <?php echo $form->error($model, 'starting_price'); ?>

                </div>

                <div id="price_block" class="p_block">
                    <?php echo $form->label($model, 'price', ['label' => Yii::t('basic', 'Buy Now')]); ?><br>
                    <?php echo $form->textField($model, 'price', ['class' => 'form-control width_input_short', 'onkeyup' => 'validatePrice(this)']); ?>
                    <?php echo $form->error($model, 'price'); ?>

                </div>

            </div>
        </div>
    </div>

Код вывода выбора продолжительности

Код
    <div class="row">
        <div class="col-xs-3 left_col">
            <p><?= Yii::t('basic', 'Duration') ?></p>
        </div>
        <div class="col-xs-9 right_col">
    
    
    
            <?php
            if (!isset($model->duration)) {
                $model->duration = 4;
            }
            echo Chtml::activeDropDownList(
                    $model, 'duration', Auction::getDurationList(), array(
                'empty' => Yii::t('basic', ' - select period - '),
                'class' => 'form-control width_input_short'
                    )
            );
            ?>
            <?php echo $form->error($model, 'duration'); ?>

ПОДСКАЖИТЕ ПЛИЗ РЕШЕНИЕ!!!!!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.10.2017, 15:48
Ответы с готовыми решениями:

В YII2 связать 3 таблицы mysql
Есть таблицы mysql: 1)id name 1 Вася 2 Иван 3 Таня 2)id user_id...

Как связать три таблицы в codeigniter
Здравствуйте! Помогите решить такую задачу. Начал работать в codeigniter и...

Yii Framework Подскажыте как связать две таблицы
Подскажите пожалуйста как связать де таблицы. Есть таблицы Персонал, Страна,...

Как связать между собой два поля (список значений одного поля зависит от значения другого поля)
Есть таблица: предмет, КодТипаМатериала (список), КодМатериала (список) ...

Связать поля
Здравствуйте! Дали задание на практике сделать базу данных с информацией о...

1
FloppyDisc
Особый статус
598 / 203 / 157
Регистрация: 18.11.2015
Сообщений: 1,033
16.10.2017, 21:53 2
Если нужны только 4 параметра в DropDown, то можно обойтись простым заполнением через js(JQuery). Это п большей части даже не Yii.

Если же необходимо, чтобы длительность была в базе можно к ним добавить дополнительный атрибут типа type: standart, fixsed, и делать уже выборку по ним, а на фронте посылать AJAX запрос и обновлять DropDown, может есть решение лучше, на ваше усмотрение)
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.10.2017, 21:53

Связать поля со списками
Ребят работает, спасибо огромное! Но у меня получились не зависимые друг от...

Связать 2 поля одной таблицы
Доброго вечера. Подскажите пожалуйста, как реализовать следующую идею: ...

Как связать таблицы (поля)?
Внешний ключ, ссылающийся на TchPK в TEACHER Правильно на г*мнокодил? ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru