2011-06-16 73 views
0

我通过以下方式添加新的选项,一个选择菜单:设置选择组属性动态地选择

var options1 = { 
    val1 : 'text1', 
    val2 : 'text2' 
}; 
$.each(options1, function(val, text) { 
    $('#SelectMenu').append(new Option(text,val)); 
}); 

我们如何选择一组添加到选择菜单?

回答

2

工作实施例:http://jsfiddle.net/rULKH/28/

JS

var groups = { 
    1 : 'USPS', 
    2 : 'FedEx' 
}; 

var optionsGroup1 = { 
    standard : 'Standard: 7 day', 
    rush  : 'Rush: 3 days', 
    express : 'Express: next day', 
    overnight : 'Overnight' 
} 

var optionsGroup2 = { 
    firstOvernight : 'First Overnight', 
    expressSaver : 'Express Saver', 
    ground   : 'Ground' 
} 

$.each(groups, function(groupIndex, groupText) { 
    $('#shipping-options').append('<optgroup label="'+groupText+'" id="'+groupText+'" />'); 

    $.each(eval('optionsGroup' + groupIndex), function (optionText, optionIndex) { 
     $('#'+groupText).append(new Option(optionIndex,optionText)); 
    }); 
}); 

$('#shipping-options').selectmenu("refresh"); 
$('#option-page').page(); 

HTML

<div data-role="page" data-theme="b" id="option-page"> 
    <div data-role="content"> 

     <div data-role="fieldcontain"> 
      <label for="shipping-options" class="select">Choose shipping method:</label> 
      <select name="shipping-options" id="shipping-options" data-native-menu="false"> 

      </select> 
     </div> 

    </div> 
</div>