我如何在我的jquery函数中使用动态变量名称

时间:2019-02-15 14:30:20

标签: javascript jquery

我只是在学习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);
    });
}

0 个答案:

没有答案