2012-04-07 5 views
1

У меня есть dropdown список как этотобмен ссылками внутри списка в Yii Framework

<?php echo $form->dropdownList($customers,'customer_name', CHtml::listData(Customers::model()->findAll(), 'id', 'customer_name'), 
array(
    'ajax'=> array(
      'type'=>'GET', 
      'url'=> 
      'data'=> 
      ), 
      'empty'=>--Select One---')); ?> 

еще одно звено для создания new customer подобно этому

<?php echo CHtml::link('Create Customers', "",array(
     'style'=>'cursor: pointer; text-decoration: underline;', 
     'onclick'=>"{addCustomers(); $('#dialogCustomers').dialog('open');}"));?> 

Я хочу create customer link должен войти внутрь dropdown list. Итак, как разместить create customer link inside the dropdown list, как объединить обе ссылки и создать их в одну?. Любая помощь и предложения будут очень заметными.

+0

хороший вопрос, но вы искали? есть много похожих вопросов –

+0

Что относительно CMap :: mergeArray()? –

+0

Здесь 'CMAP :: mergeArray()' не может работать, поскольку он объединит все массивы, и я хочу, чтобы массив не сливался. – NewUser

ответ

1

ТВН я не совсем уверен, что вы пытаетесь сделать, но от чего я получил вам нужно что-то вроде этого:

echo $form->dropDownList(
    $customers, 
    'customer_name', 
    CMap::mergeArray(
     CHtml::listData(
      Customers::model()->findAll(), 'id', 'customer_name' 
     ), 
     array(
      'create_customer_link'=>'Create new customer' 
     ) 
    ), 
    array(
     'empty'=>array('Select'=>'--Select One---'), 
     'id'=>'Customers_name', 
     'ajax'=> array(
      'type'=>'GET', 
      'beforeSend'=>'js:function(){ 
       if($("#Customers_name").val() == "create_customer_link") { 
        addCustomers(); 
        $("#dialogCustomers").dialog("open"); 
        return false; 
       } 
      }', 
      'url'=>... 
      'data'=>... 
     ), 
     'options'=>array(
      'create_customer_link' => array('class'=>'my_custom_css_class'), 
      // ... etc. You can add any html option here. 
      // check http://www.yiiframework.com/doc/api/1.1/CHtml#dropDownList-detail for more info 
     ) 
    ) 
); 
+0

благодарит @Johnatan за ваш быстрый ответ .. но его не работает. – NewUser

+0

@newuser Я скорректировал код, так что он хорошо работает .. Сменил «customer_name» и «$ customers» и изменил «select» на «onchange». – Johnatan

+0

Не уверен, пока он не работает. У вас проверены коды? – NewUser

0

Если я понимаю ваше требование. вы хотите добавить ссылки на параметры выпадающего списка. Это простой способ сделать это.

    <?php 
         echo CHtml::dropDownList('city_name', null, 
         $arrPopularCities, 
         array(
          'prompt' => 'Popular City', 
          'class' => 'btn btn-default btn-dropdown dropdown-toggle', 
          'style' => 'border-right:2px solid #4bacc6;', 
         )); 
       ?> 

добавить ниже JQuery

$('#city_name').change(function() { 
    if($(this).val() != ""){ 
     window.location.assign('<?php echo Yii::app()->createUrl('city/view'); ?>' + '?id=' + $(this).val()); 
    } 
}); 
Смежные вопросы