문제

My Multi Select List가 매우 큽니다. 선택한 옵션을 알아내는 것은 어렵습니다. 다음과 같이 변경하고 싶습니다. 가능합니다. 여기서는 어디서나, 현재 "Customer_Address"속성 유형 "MultiSelect", 여기에 이미지 설명 입력

이 속성을 다음과 같은 내 SQL 스크립트를 작성하고 있습니다.

    <?php

$installer = $this;

$installer->startSetup();

$installer->addAttribute('customer_address', 'additional_managers', array(
    'label' => 'Additional Store/Site Managers',
    'visible' => true,
    'required' => false,
    'type' => 'varchar',
    'input' => 'multiselect',
    'source' => 'abc_districtmanager/address_attribute_source_districtmanager',
    'onclick' => 'getSelectValues(this)',
    'user_defined' => 1,
    'position' => 100
));

$used_in_forms = array(
     'adminhtml_customer_address',
     'customer_address_edit',
     'customer_register_address'
    );

$attribute = Mage::getSingleton('eav/config')->getAttribute('customer_address', 'additional_managers');
$attribute->setData('used_in_forms', $used_in_forms); 
$attribute->save();

$installer->endSetup();
.

도움이 되었습니까?

해결책 2

"선택한"jQuery를 사용하여 약간의 변경된 인터페이스로 내 목적을 얻었습니다.

jquery chosen.jquery.js 선택 .css.,이 파일을 디자인에 배치하고 존경받는 .xml 파일에 모듈에 추가하십시오.

     <reference name="head">
        <!--            Adding js and css to use "chosen" instead of "select" for "multiselect" input types-->
        <action method="addItem">
            <type>skin_js</type>
            <name>js/chosen.jquery.js</name>
        </action>
        <action method="addItem">
            <type>skin_css</type>
            <name>css/chosen.css</name>
        </action>
    </reference>
.

파일의 경로에주의하십시오. ( phtml ) 사용하기

<script type="text/javascript">

jQuery(document).ready(function ($) {
    $(".myClass").chosen();
});
.

이렇게하면 클래스 "myClass"가있는 요소의 인터페이스가 변경되어 출력이 다음과 같을 수 있습니다. 여기에 이미지 설명 입력

다른 팁

아래 코드 에서이 기능을 수행 할 수 있습니다

<select onchange="getSelectValues(this)"></select>



    function getSelectValues(select) {

          var options = select && select.options;
          var opt;

          for (var i=0, iLen=options.length; i<iLen; i++) {
            opt = options[i];

            if (opt.selected) {
               opttext +=opt.text+'<br />';
            }
          }
          document.getElementById('showdiv').innerHtml=opttext;
        }
.

프로토 타입

$("_itemNaNadditional_managers").invoke('observe', 'change', function() {

    var options = $("_itemNaNadditional_managers").options;
              var opt;

              for (var i=0, iLen=options.length; i<iLen; i++) {
                opt = options[i];

                if (opt.selected) {
                   opttext +=opt.text+'<br />';
                }
              }
              document.getElementById('showdiv').innerHtml=opttext;

});
.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 magento.stackexchange
scroll top