Tôi đang cố gắng chuyển đổi các hộp được chọn thành các nút radio khi đang bay bằng cách sử dụng jquery và tôi không chắc chắn cách tốt nhất.jQuery Chuyển đổi Chọn nút radio?
HTML mẫu:
<form id="product">
<select name="data[123]">
<option value="1">First</option>
<option value="2">Second</option>
......
<option value="n">xxxxxx</option>
</select>
</form>
Tôi muốn chuyển đổi nó ở tải trang sử dụng jquery để:
<form id="product">
<input type="radio" name="data[123]" value="1" />
<label for="data[123]">First</label><br/>
<input type="radio" name="data[123]" value="2" />
<label for="data[123]">Second</label><br/>
......
<input type="radio" name="data[123]" value="n" />
<label for="data[123]">xxxxxx</label><br/>
</form>
Và nó cần phải được động vì thế nó sẽ lặp tự động cho mỗi hộp chọn và mỗi tùy chọn bên trong (vì các sản phẩm khác nhau có các tùy chọn khác nhau)
Tôi đang cố gắng tìm ra cách tốt nhất. Hoặc là để có được một mảng đa chiều của tất cả các giá trị đầu tiên và sau đó xây dựng các nút radio .. hoặc hoán đổi chúng một lần tại một vòng lặp. Hiện đang cố gắng trước đây, nhưng tôi nghĩ rằng tôi có thể bị đánh lừa quá mức:
$(document).ready(function(){
//Get Exising Select Options
$('form#product select').each(function(i, select){
$(select[i]).find('option').each(function(j, option){
//alert($(option).text());
option[j] = [];
option[j]['text'] = $(option).text();
option[j]['val'] = $(option).val();
});
});
//Remove Select box
$('form#product select').remove();
});
Có ai đã thử điều này hoặc có một số cách bí mật/dễ dàng hơn để làm điều đó mà tôi đang thiếu không?
Tại sao -1? Đó là mẫu mã đang hoạt động ... – gnarf
Điều này thật hoàn hảo! Cám ơn hai bạn! – Dss
cảm ơn nhưng nhấp chuột nhãn không hoạt động thay thế hai dòng 1: ** '$ radio.attr ('name', $ select.attr ('name')). Attr ('id', $ option.val()); '** 2. **' $ ("") .attr ('cho', $ option.attr ('giá trị')). Văn bản ($ option.text()) ); '** – John