Javascript Switch Case 在社交引擎中不起作用

标签 javascript mootools socialengine

我觉得问这个愚蠢的问题有点尴尬,但不知何故,下面的代码不起作用。值(床、房间、地板)获取正确,但 switch case 不起作用。但是 switch case 代码的相同片段在 jsfiddle 中运行良好。我确信我错过了一些愚蠢的东西。我在启用了 mootools 的社交引擎中使用它

我还想知道如何获取一个具有 id=roomtype 且位于 div 内的元素,该 div 的 class=form-elementsid=roomtype 不是div class=form-elements 的直接子元素。 我可以通过 $$('.form-elements #roomtype').get('value') 获取它,但这引用了所有带有 #roomtype 的元素,这个 $('.form- elements #roomtype').get('value') 不起作用

<script type="text/javascript">
var updatePrice=function()
{

 var room= $$('.form-elements #roomtype').get('value')  ;

// alert (room) gets AirCon or Dorm
var price;

switch (room)
  {
  case "AirCon":
    price="10000"; alert("AirCon");
    break;
  case 'Dorm':
    price="5000"; alert("Dorm");
    break;
  default:
    price="00";
  }


}

 en4.core.runonce.add(updatePrice);// this add this function to DOM Ready
    </script>

最佳答案

#1

ID 必须是唯一的。

在 MooTools 中,您可以执行 $('roomtype') 来获取 ID 为 roomtype 的元素。

您还可以使用 document.id('roomtype') 甚至 $$('#roomtype')
由于 ID 必须是唯一的,因此与该元素的父元素无关,因为只有一个。

#2

请注意,$$$ 是不同的 element methods in mootools$$ 采用 CSS 选择器并返回集合/数组。

$$('#roomtype').get('value'); // returns ['the value']
$('roomtype').get('value'); // return 'the value'

#3

我看到的另一个问题是您在 updatePrice() 函数的范围内定义价格,因此在 switch 内执行 price = 5000 不会离开该函数的无论如何。您可能想在函数外部定义变量价格,或者让函数返回该值,如下所示:

    // ...
    switch (room) {
        case "AirCon":
            price = "10000";
            alert("AirCon");
            break;
        case 'Dorm':
            price = "5000";
            alert("Dorm");
            break;
        default:
            price = "00";
    }
    return price; // here
}

如果您使用 HTML 更新您的 fiddle ,它将更容易为您提供更多帮助。

P.s:随时欢迎您提问。无需感到尴尬。

关于Javascript Switch Case 在社交引擎中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21946449/

相关文章:

javascript - TypedArray 和 ArrayBuffers(node/chrome)上的 Object.freeze() 未按预期工作

javascript - Angular 2 - 在我的 node_modules 文件夹中收到 TSLint 错误

javascript - YouTube 视频无法在移动浏览器上加载

javascript - 奇怪的 mootools 窗口拖动行为

mysql - SocialEngine模块安装: Query failed with error

php - 修改PHP代码SocialEngine

socialengine - 社交引擎网站的启动页面

javascript - 在 Bootstrap 4 : "Uncaught Error: Tooltip is transitioning" 上出现错误

javascript - Jquery 对 Mootools MochaUI 的替代是什么?

xmlhttprequest - mootools 请求类和 CORS