1

我需要将单选按钮转换为 jquery 中的选择框。

我有以下代码,但它不会产生我需要的东西:

$j('#product_addtocart_form input[type=radio]').each(function(i, checkbox){
var $checkbox = $j(checkbox);
// create a select
var $select = $j('<select></select>');
// set name and value
$select.attr('name', $checkbox.attr('name')).attr('value', $checkbox.val());
$select.append(new Option('test','tet'));
//$checkbox.remove();
});
4

1 回答 1

9

$select每次都在重新创建循环内部。此外,您$select的内容永远不会写入浏览器。

尝试这个:

var $checkbox = $('#product_addtocart_form input[type=radio]');
var $select = $('<select></select>');    // create a select
$select.attr('name', $checkbox.attr('name'));    // set name and value

$checkbox.each(function(i, checkbox){
    var str = $checkbox.eq(i).val();
    $select.append($('<option>').val(str).text(str));
});

$checkbox.replaceWith($select);​

http://jsfiddle.net/mblase75/G9fHG/

于 2012-12-11T19:10:27.850 回答