gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-28 08:30:19 26 4
gpt4 key购买 nike

我觉得问这个愚蠢的问题有点尴尬,但不知何故,下面的代码不起作用。值(床、房间、地板)获取正确,但 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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com