如果 html 标记包含大小属性,则 Jquery UI 选择表单字段覆盖大小属性。

标签 jquery css ajax jquery-ui styling

我有一个表单元素正在加载,并在更改前一个选择时使用 ajax 调用。 Ajax 调用工作正常,我终于明白了它不会破坏样式。我可以让它变得比只有 1 个选项更大。

我的JS:

    jQuery(document).ready(function(){
     jQuery("#ajaxLoader").hide();
     jQuery("#field1").change(function(){            
        var optionValue = jQuery("#field1").val();      
        jQuery.ajax({
            type: "POST",
            url: "<?=$myURL?>",
            data: ({key: optionValue, status: 1}),
            beforeSend: function(){ jQuery("#ajaxLoader").show(); },
            complete: function(){ jQuery("#ajaxLoader").hide(); },
            success: function(response){
                jQuery("#field2").html(response);
                jQuery("#field2").show();
            }
        });
    });
});

我还上传了截图http://coolyar.net/?di=513133334819

编辑: 我的 Global.js 选择函数

   $('select').each(function(){
        var select = this;

        //I think this is the issue here. I don't know how to override the size
          attribute.

        $(this).attr('size',$(this).find('option').length+1).wrap('<span class="ui-select" />')
            .before('<span class="ui-select-value" />')
            .bind('change, click', function(){
                $(this).hide().prev().html($(this).find('option:selected').text());
            })
            .after('<a class="ui-select-button button button-gray"><span></span></a>')
            .next().click(function(){
                if ($(select).toggle().is(':visible')) {
                    $(select).focus();
                }
                return false;
            })
            .prev().prev().html($(this).find('option:selected').text())
            .click(function(){
                if ($(select).toggle().is(':visible')) {
                    $(select).focus();
                }
                return false;
            });
        $(this).blur(function(){ $(this).hide(); }).parent().disableSelection();
    });

最佳答案

   $('select').each(function(){
        var select = this;
        var selectSize = $(this).attr('size');
        if ($(this).attr('size') == 0){
            var selectSize = $(this).find('option').length+1;
            console.log(selectSize); 
        }

        $(this).attr('size', selectSize).wrap('<span class="ui-select" />')
            .before('<span class="ui-select-value" />')
            .bind('change, click', function(){
                $(this).hide().prev().html($(this).find('option:selected').text());
            })
            .after('<a class="ui-select-button button button-gray"><span></span></a>')
            .next().click(function(){
                if ($(select).toggle().is(':visible')) {
                    $(select).focus();
                }
                return false;
            })
            .prev().prev().html($(this).find('option:selected').text())
            .click(function(){
                if ($(select).toggle().is(':visible')) {
                    $(select).focus();
                }
                return false;
            });
        $(this).blur(function(){ $(this).hide(); }).parent().disableSelection();
    });

关于如果 html 标记包含大小属性,则 Jquery UI 选择表单字段覆盖大小属性。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7057497/

相关文章:

jquery - 使用多个 Ruby on Rails Controller / View 和滑动页面转换的单页网站

javascript - 图像 slider 上的文字

jquery - 更改 JQuery DatePicker 中的 minDate 选项不会执行任何操作

jQuery Accordion HTML 链接问题

javascript - GRIDSTER 滚动在 darging 和调整到其父 div 时不会移动

php - 通知 Ajax/Javascript 后台 PHP 已完成

javascript - 在多个 PHP 页面上使用来自 AJAX 函数的填充变量更新 SQL 查询

jquery - 如何使 CSS 图像 slider 自动在幻灯片中移动

asp.net - 为什么调用 Page WebMethod 的 Javascript 会导致 "500: Unknown web method"?

html - 自动换行样式可以安全地应用于 body 吗?