我只是在学习jquery和javascript,我有一个函数可以在页面上展开[select]元素并将其显示为按钮。我的页面上可能有多个选择框,因此我需要根据传入的元素名称动态命名以下变量,以便在单击按钮时传递正确的值:
selector1
currentvalue1
hidden1
svalue1
这是功能:
function doUnwrap(elementname) {
var selector1 = document.getElementById('' + elementname + '');
var currentvalue1 = selector1[selector1.selectedIndex].text;
var hidden1 = $('<input type="hidden" name="' + elementname + '">');
hidden1.val($('[name=' + elementname + ']').val());
hidden1.insertAfter($('[name=' + elementname + ']'));
$("[name=" + elementname + "] option").unwrap().each(function () {
var btn = $('<div class="btn" id="' + $(this).attr('value') + '">' + $(this).text() + '</div>');
if ($(this).text() == currentvalue[i]) {
var btn = $('<div class="btn" id="' + $(this).attr('value') + '" >' + $(this).text() + '</div>');
if ($(this).is(':checked')) btn.addClass('on');
$(this).replaceWith(btn);
} else {
var btn = $('<div class="btn" id="' + $(this).attr('value') + '" >' + $(this).text() + '</div>');
$(this).replaceWith(btn);
};
});
$(document).on('click', '.btn', function () {
$('.btn').removeClass('on');
$(this).addClass('on');
$('input[name=' + elementname + ']').val($(this).text());
var sValue1 = "&value=" + elementname + "|" + $(this).attr('id') + "";
executeAjaxEvent(sValue1, null, "ComboBoxAjaxHandler", false, null, true);
});
}