Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带有布尔值的Javascript If语句_Javascript - Fatal编程技术网

带有布尔值的Javascript If语句

带有布尔值的Javascript If语句,javascript,Javascript,我有两个下拉选择框,我想要一个文本框根据两个框中选择的文本更新一个值。 如果选择的第一个框是“美元”,第二个框是“奈拉”,我希望费率为100,并将此值输入带有费率id的文本框中 不幸的是,当我的函数执行时,我总是得到一个未定义的值。我的if语句显然有问题,但我无法解决。我需要用纯javascript,而不是jquery来实现这一点 这是我的密码: <p>Select currency to send</p> <select id="fromCurrency"&g

我有两个下拉选择框,我想要一个文本框根据两个框中选择的文本更新一个值。 如果选择的第一个框是“美元”,第二个框是“奈拉”,我希望费率为100,并将此值输入带有费率id的文本框中

不幸的是,当我的函数执行时,我总是得到一个未定义的值。我的if语句显然有问题,但我无法解决。我需要用纯javascript,而不是jquery来实现这一点

这是我的密码:

<p>Select currency to send</p>  
<select id="fromCurrency">
<option value = "Dollars">Dollars</option>  
<option value = "Pounds">Pounds</option>
<option value = "Naira">Naira</option>
</select>

<p>Select currency to receive</p>
<select id="toCurrency">
<option value = "Naira">Naira</option>
<option value = "Dollars">Dollars</option>  
<option value = "Pounds">Pounds</option>

</select><br />
<label>Enter amount to send</label>
<input type="text" id="amount" name="amount"><br />
<button onclick ="getRate()">Get Rate</button><br />
<label>Rate:</label>
<input type="text" id="rate" name="rate"><br />
<label>Total:</label>
<input type="text" id="total" name="total"><br />



<script>

function getRate() {
var e = document.getElementById("fromCurrency");
var eSend = e.options[e.selectedIndex].value;
var i = document.getElementById('toCurrency');
var eReceive = i.options[i.selectedIndex].value;
var rate = document.getElementById('rate');

var dollars = {
'pounds':20,
'naira':15
};


if (eSend =='dollars' && eReceive =='naira') {
var rValue= (dollars['pounds']);
};  
rate.value = rValue;

};
</script>

JavaScript区分大小写,您的if语句:

if (eSend =='dollars' && eReceive =='naira') {
正在查找
美元
,而不是
美元
,请大写以匹配您的
选择值:

if (eSend =='Dollars' && eReceive =='Naira') {

if(eSend=='Dollars'&&eReceive=='Naira')
rValue没有定义,除非if激发。顺便说一句,您可以只执行
var eSend=e.value
var-eReceive=i.value谢谢你的快速回答。成功了!请参阅我添加的有关switch语句的其他信息。由于不存在0的情况,因此您的switch语句将不起作用。好的,那么您有什么建议?当我删除var rValue=0时,我得到一个未定义的错误。可能只是一个
if-else
语句。由于您的
rValue
0
,因此匹配的case语句将是
case 0:rValue=“entered case 0”;中断if (eSend =='Dollars' && eReceive =='Naira') {