Mootools - 获取“未定义”作为下拉列表中的值 - 无法获取值

发布于 2024-11-26 14:26:05 字数 375 浏览 0 评论 0原文

我创建了一些隐藏的下拉字段,我试图将它们保持隐藏,直到进行适当的选择。

我正在尝试使用 mootools 来做到这一点 - 我已经放入了“警报”,以便我可以看到每一步传递的变量。

第一个隐藏的下拉列表正确显示,并且相应地显示值,但是当从第二个下拉列表中选择值时,该值是“未定义”,并且第三个下拉列表不显示。

我已经一遍又一遍地查看它,但无法弄清楚为什么这不起作用。任何建议将不胜感激。我是 mootools 的新手Javascript,所以这可能是一个我只是没有看到的简单修复。

您可以查看 JSFiddle - 它包含所有 html/javascript。

I've created some hidden drop-down fields that I'm attempting to keep hidden until appropriately selected.

I'm trying to do this with mootools - I've put in 'alerts' so that I can see the variables getting passed along at each step.

The first hidden dropdown shows appropriately and the value displays accordingly, but when a value is selected from the 2nd dropdown the value is 'undefined' and the 3rd dropdown does not display.

I've been looking it over time and time again but cannot figure out why this won't work. Any advice would be greatly appreciated. I'm new to mootools & Javascript so it may be a simple fix I'm just not seeing.

You can view the JSFiddle for this - it contains all the html/javascript.

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

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

发布评论

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

评论(1

夜声 2024-12-03 14:26:05

这有效。我没有依赖 this,而是将其更改为使用传递的 Event 对象,然后从中获取目标。

window.addEvent('domready', function() {
    $('numberStyle').addEvent('change', function() {
        var targ = $(this.get('value'));
        $('.sub-1').setStyle('display', 'none');
        targ.setStyle('display', 'block');
        alert('TargID = ' + targ.id);

        targ.addEvent('change', function(evt) {
            var targID1 = $(evt.target).get('value');
            alert('The value is of sub-1 is ' + targID1);
            $('.sub-2').setStyle('display', 'none');
            $(targID1).setStyle('display', 'block');
          });

    });
});

This works. Instead of relying on this, I changed it to use the passed Event object, then got the target from that.

window.addEvent('domready', function() {
    $('numberStyle').addEvent('change', function() {
        var targ = $(this.get('value'));
        $('.sub-1').setStyle('display', 'none');
        targ.setStyle('display', 'block');
        alert('TargID = ' + targ.id);

        targ.addEvent('change', function(evt) {
            var targID1 = $(evt.target).get('value');
            alert('The value is of sub-1 is ' + targID1);
            $('.sub-2').setStyle('display', 'none');
            $(targID1).setStyle('display', 'block');
          });

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