Jquery统一更新不起作用

发布于 2024-12-11 14:39:41 字数 702 浏览 0 评论 0原文

我正在我正在从事的项目之一中使用jquery Uniform。由于这是管理面板,我确实没有选择显示。我将解释我的问题

我想做的事情非常简单。我使用ajax向页面添加一些表单元素(如选择、复选框、文本输入)。

除了重新设计那些动态添加的表单元素之外,每件事都有效。

function step2 () {
    $.post( siteUrl + "includes/ajax/members/add-subscription.php?do=step2", $("#selectedSubscribers").serialize(), function( data ) { 
        $('.step2_content').html(data);
        $.uniform.update(); 
    });
 }

有人遇到过类似的问题吗?即使我的 onClick、onChange 函数都可以正常工作(动态添加表单元素),只是 $.uniform.update(); 似乎不起作用。

我认为处理数据可能需要更长的时间,所以 $.uniform.update();在处理数据之前调用,因此我尝试使用 $.ajaxasync: false 但没有成功。

如果任何经历过此类问题或知道解决方案的人可以帮助我解决此问题,我将很高兴。

先感谢您。

I'm using jquery uniform on one of the project I'm working on. Since this is admin panel, I truly don't have option to show. I will explain my problem

What I'm trying to do is quite simple. I'm adding some form elements (like select, check box, text input) to the page with ajax.

Every single thing works except re-styling those dynamically added form elements.

function step2 () {
    $.post( siteUrl + "includes/ajax/members/add-subscription.php?do=step2", $("#selectedSubscribers").serialize(), function( data ) { 
        $('.step2_content').html(data);
        $.uniform.update(); 
    });
 }

Anyone experienced similar problem? Even my onClick, onChange functions are working without a problem (dynamically added form elements), it is just, $.uniform.update(); doesn't seem to work.

I thought processing data could take longer time so $.uniform.update(); is called before data is processed so I tried $.ajax with async: false with no luck.

I will be glad if anyone who experienced such problem or who knows the solution could help me out with this problem.

Thank you in advance.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

臻嫒无言 2024-12-18 14:39:41

首次调用 $.uniform() 时,它将所有指定元素收集到受影响元素的内部数组中。当您调用 $.uniform.update() 时,它只是重新设置那些已经收集的元素的样式。

要添加其他元素,您可能需要再次调用 $.uniform(),传递仅标识那些新的动态添加元素的选择器。

When $.uniform() is first called, it collects all the specified elements into an internal array of affected elements. When you call $.uniform.update() it simply restyles those elements that were already collected.

To add additional elements, you may need to call $.uniform() again, passing a selector identifying only those new, dynamically added elements.

三月梨花 2024-12-18 14:39:41

对于 load() 如果修复问题

$('#dialog').load(url + ' #forload', function() {$('#dialog').find('select').uniform(), $('#dialog').find('input:checkbox').uniform()})

for load() if fix promblem

$('#dialog').load(url + ' #forload', function() {$('#dialog').find('select').uniform(), $('#dialog').find('input:checkbox').uniform()})
魂牵梦绕锁你心扉 2024-12-18 14:39:41

你试过这个吗?

$.uniform.update("#select_element_id");

就我而言,问题已解决。

旧的制服版本可能会导致您的问题。

Have you tried this?

$.uniform.update("#select_element_id");

In my case, the problem was solved.

Being old the version of uniform, may cause your problem.

泪眸﹌ 2024-12-18 14:39:41

另一种解决方案可能是这个

setTimeout("$('.uniform_element').uniform();",200);

200 或可能需要更多的数字。

Another solution may be this

setTimeout("$('.uniform_element').uniform();",200);

200 or a higher number may need.

千秋岁 2024-12-18 14:39:41

试试这个:

   $('.elementClass').uniform();

Try this:

   $('.elementClass').uniform();
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文