jquery对话框并可选择

时间:2012-11-22 11:08:17

标签: jquery jquery-ui jquery-plugins

我有一堆显示文字的div。

我已经使这些可选择,我理想的是能够改变所选div文本的字体大小。

我有一个对话框,其中包含选择列表中字体大小的基本形式,但我很难找到一种方法来实际定位对话框中的可选项。

$(function(){
    $('#template_inner').selectable({
           selected: function(event, ui){
            console.log(ui);
            // displays the HTML in the console

        }
    })


$( "#font-size-form" ).dialog({
    autoOpen: false,
    height: 200,
    width: 270,
    modal: true,
    position: ['top', 200],
    buttons: {
        "Select": function() {
        },
        Cancel: function() {
            $( this ).dialog( "close" );
        }
    },
    close: function() {
    }
});

   $( ".font-size" )
       .button()
       .click(function() {
           $( "#font-size-form" ).dialog( "open" );
   });
});


<div id="font-size-form" title="Choose Font Size">
    <form action="" method="">
        <p>Please choose your font-size</p>
        <div class="">
            <select name="size">
                <option value="8">8</option>
                <option value="12">12</option>
                <option value="14">14</option>
                <option value="16">16</option>
                <option value="18">18</option>
                <option value="20">20</option>
                <option value="22">22</option>
                <option value="24">24</option>
                <option value="26">26</option>
                <option value="28">28</option>
                <option value="30">30</option>
                <option value="32">32</option>
            </select>
        </div>

    </form>
</div>

所以,当我点击div,然后点击打开字体大小对话框,选择字体大小,我想更改div中文本的字体大小。

这可能吗?

非常感谢

1 个答案:

答案 0 :(得分:0)

如果您只需要记住页面持续时间的选择,那么您可以将字体大小保存为可选择的数据(请参阅documentation)。

//in your dialog
"Select": function() {
  $('#template_inner .ui-selected').css('font-size', $('select[name="size"]').val() + 'px');
  $('#template_inner').data('fontSize', $('select[name="size"]').val());
}

//on your selectable
$('#template_inner').selectable({
  selected: function(event, ui){
    var defaultSize = 22;
    // Get the saved value or default on new selects.
    var size = $('#template_inner').data('fontSize') || defaultSize;
    $(ui.selected).css('font-size', size + 'px');
  }
})