2012-04-07 4 views
1

Ich habe die dropdown Liste wie dieseOrt Link in Dropdown-Liste in Yü-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---')); ?> 

einen anderen Link für eine new customer Schaffung ähnliche

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

ich die create customer link will, sollte innerhalb dropdown list kommen. So, wie man create customer link inside the dropdown list setzt, wie man die zwei Verbindungen zusammenbringt und sie in einen einzelnen schafft?. Irgendwelche Hilfe und Vorschläge sind in hohem Grade nennenswert.

+0

eine gute Frage, aber haben gesucht Sie? Es gibt viele ähnliche Fragen –

+0

Was ist mit CMap :: mergeArray()? –

+0

Hier kann 'CMAP :: mergeArray()' nicht funktionieren, da es alle Arrays zusammenführen wird, und ich möchte, dass das Array nicht zusammengeführt werden soll. – NewUser

Antwort

1

Tbh ich bin nicht wirklich sicher, was Sie zu tun versuchen, aber von dem, was ich habe Sie so etwas wie dieses brauchen:

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

danke @Johnatan für Ihre schnelle Antwort..aber es funktioniert nicht. – NewUser

+0

@newuser Ich habe den Code korrigiert, also funktioniert es gut .. Vertauschte "customer_name" und $ customers, und änderte "select" zu "onchange". – Johnatan

+0

Nein, es funktioniert immer noch nicht. Haben Sie die Codes getestet? – NewUser

0

Wenn ich Ihre Anforderung verstehen. Sie möchten Links zu den Optionen der Dropdown-Liste hinzufügen. Dies ist eine einfache Möglichkeit, dies zu tun.

    <?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;', 
         )); 
       ?> 

unten hinzufügen jquery

$('#city_name').change(function() { 
    if($(this).val() != ""){ 
     window.location.assign('<?php echo Yii::app()->createUrl('city/view'); ?>' + '?id=' + $(this).val()); 
    } 
});