Javascript / Jquery Change选择列表到Radio Buttons

时间:2012-08-28 02:32:10

标签: javascript jquery

我有一个选项列表,我想将其更改为可点击的单选按钮。

这是我的选择列表:

<select id="VariationGroup44" class="select" name="dlVariationGroup44">
<option value="Select Color"> Select Color </option>
<option selected="selected" value="1"> Black </option>
<option value="2"> Red </option>
<option value="3"> Green </option>
<option value="4"> Blue </option>
</select>

我已成功将其转换为UL,但选项不再可点击,这就是为什么我认为单选按钮会更好用。欢迎所有建议,非常感谢!

2 个答案:

答案 0 :(得分:2)

<强>工作流:

  1. 迭代选项。
  2. 拿你需要的东西
  3. 建立新的复选框。
  4. 将它们附加到元素。
  5. 守则:

    $('#VariationGroup44 option').each(function(i,obj){
      $('<li><input type="radio" name="chkOpt'+i+'" value="'+$(obj).val()+'"/><label for="chkOpt'+i+'"> '+$(this).text()+'</label></li>').appendTo('ul');
    });
    

    The working jsFiddle.

答案 1 :(得分:0)

function replaceSelect(select) {
  var opts = $(select).find('option');
  var name = $(select).attr('name');
  var id = $(select).attr('id');
  var list = [];
  opts.each(function() {
    list.push(
      '<li>'+
        '<label>'+
          '<input type="radio" name="'+ name +'">'+ 
          $(this).text()
        '</label>'+
      '</li>'
    );
  });
  $(select).replaceWith('<ul id="'+ id +'">'+ list.join('') +'</ul>');
}

// Usage
replaceSelect('#VariationGroup44');