jquerymobile: раскрывающийся список выбора - PullRequest
0 голосов
/ 03 октября 2011

Моя форма jquerymobile имеет раскрывающийся список с несколькими разделами.При загрузке формы я должен установить некоторые параметры по умолчанию.Я пробовал как

$('#myselect')[0].selectedIndex = 2;
$('#myselect')[0].selectedIndex = 3;
$('#myselect')[0].selectedIndex = 5;
$('#myselect').selectmenu("refresh");

Но только 5-й вариант выбирается, как установить выбранный параметр true для нескольких параметров с помощью js.

+++ EDIT ++++

<!DOCTYPE html>
<link rel="stylesheet" href="jquery.mobile-1.0b3/jquery.mobile-1.0b3.min.css" />        
  <script src="jquery.mobile-1.0b3/jquery-1.6.2.min.js"></script> 
  <script type="text/javascript">
        $("#account").live("pagecreate", function(event){
            if( navigator.userAgent.match(/android/i) ) {
                loadOrgDropdown();
            }           
        });

 </script>

<script src="jquery.mobile-1.0b3/jquery.mobile-1.0b3.min.js"></script> 
<script src="js/common.js"></script> 
<script type="text/javascript">


        function loadDropdown() { 
            jQuery.ajax(
                    {
            url         : 'PocketmediServices.php?service=getDropdownValues',
            type        : 'get',
            dataType    : 'json',
            beforeSend  : function(){
            },
            error       : function(){
                        if (typeof Android != 'undefined') {
                            Android.dismissLoadinDialog();
                        }
            },
            success     : function(data){
              if(data.response.getDropdownValues.dropdownList  !== undefined) {
                var count = -1;
                var selected = -1;
                $.each(data.response.getDropdownValues.dropdownList, function(key, val) {   
                    count++;
                    $('#myselect')
                    .append($('<option>', { value : val.item.Code })
                    .text(val.item.Name));  
                    if($.inArray(val.item.optionval, previousSelected) >=0) {
                        $('#myselect')[0].selectedIndex = [3,5]; // hard coded for now.
                    }
                }); 
                $('#myselect').selectmenu("refresh");
              }     
            },
            complete    : function(req){
            },
           });  

        } //loadDropdown

    </script>

    <div data-role="fieldcontain">
        <label for="organization">Organization:</label> 
        <select name="organization" id="organization" data-native-menu="false" multiple >
            <optgroup label="s" id="org_s"></optgroup>
            <optgroup label="Support Networks" id="org_support_networks"></optgroup>
       </select>
    </div>

Спасибо, Нехатха

1 Ответ

0 голосов
/ 03 октября 2011

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

$('#myselect').val([2,3,5]);

Вы можете найти примеры @ http://api.jquery.com/val/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...