为buttonset设置jquery cookie

时间:2013-12-24 03:54:30

标签: jquery cookies jqueryi-ui-buttonset

我正在尝试设置jquery Cookie,但我无法让它工作。 这是我正在使用的代码...

<div id="tabs-5">
 <form>
  <fieldset id="units" name="units">
   <legend>Units</legend>
    <center>
     <div id="radio">
      <label title="Select units of measurement to work with, Inches or Millimeters"></label>
      <label for="inches">Inches</label>
      <input type="radio" id="inches" name="unit" value="inches" onclick='valInches();' />
      <label for="mm">Millimeters</label>
      <input type="radio" id="mm" name="unit" value="mm" onclick='valMm();' />
     </div>
    </center>
  </fieldset> <!--end "units"-->
 </form>
</div> <!-- end tabs-5-->

$(function() {
 var selected = $.cookie('radio'); // Retrieve cookie value
  $('input[name="unit"][value="' + selected + '"]').attr('checked', true); //Check matching button
  $('input[name="unit"]').click(function() {
   $.cookie('radio', $(this).val(), {expires: 365}); // Save cookie
  });
});

1 个答案:

答案 0 :(得分:0)

我发现问题是什么......我的代码工作正常,但问题是按钮没有被'点击'。

所以我添加了这个来刷新按钮'click',现在一切正常。

$('input[value="' + units + '"]').prop('checked', true).button('refresh');

编辑: 将buttonset类设置为class = radioButtons此代码可以完成我对任何按钮组所需的...

$(function(){                                                                               
    var radioButtonSet=$('.setCookies').find('.radioButtons');
    radioButtonSet.buttonset();
    var radio=$('.radioButtons').find(':radio');

    radio.each(function(){
        var selected=$.cookie(this.name);
        $('#'+selected).prop('checked', true).button('refresh');

        $(this).change(function() {
            $.cookie(this.name, $(this).val(), {expires: 365});
        });
    });
});