我的javascript假设是为价格变量增加值然后返回价格,我的麻烦是我使用的是选择选项,当我有多个价格时,只会使用最后一个if语句的id,这是我的HTML;
<form>
<select>
<option name ="Bristol "value="40.0" id ="BN1">Bristol - Newcastle</option>
<option name ="London "value="35.0" id ="BL1">Bristol - London</option>
</select>
<button type="button" onclick="BookingFare(); return false;">Submit</button><br>
</form>
<label id='priceBox'></label>
这是我的Javascript
function BookingFare() {
var price = 0;
//var ofAdults = getElementById('adults').value;
//var ofChildren = getElementById('children').value;
var BN1 = document.getElementById('BN1').value;
var BL1 = document.getElementById('BL1').value;
if (BL1) {
var price = BL1;
}
if (BN1) {
var price = BN1;
}
document.getElementById('priceBox').innerHTML = price;
}
所以基本上该程序将返回BN1的价格,即使我选择布里斯托尔 - 伦敦。 任何建议表示赞赏。
答案 0 :(得分:3)
结果很有意义。 ifs中的检查在两种情况下都是正确的(可能是因为BL1,BN1都存在)。
您需要在代码中执行的操作是检索所选索引,然后使用它。
为您的下拉列表指定一个ID:
<select id="dropdownList">
....
然后在代码中使用它来检索所选值:
var dropdownList = document.getElementById("dropdownList");
var price = dropdownList.options[dropdownList.selectedIndex].value;
//rest of code
答案 1 :(得分:0)
1st:您正在多次定义变量 price 。 第二:您的代码检查'值'和原因,它总是有一个值。 我想,你真正想要检查的是,是否选择了一个选项,然后使用它的值。
function BookingFare() {
var price = 0;
var BN1 = document.getElementById('BN1');
var BL1 = document.getElementById('BL1');
if (BL1.selected) {
price = BL1.value;
}
if (BN1.selected) {
price = BN1.value;
}
document.getElementById('priceBox').innerHTML = price;
}
<form>
<select>
<option name="Bristol " value="40.0" id="BN1">Bristol - Newcastle</option>
<option name="London " value="35.0" id="BL1">Bristol - London</option>
</select>
<button type="button" onclick="BookingFare(); return false;">Submit</button>
<br>
<label id='priceBox'></label>
</form>
答案 2 :(得分:0)
我认为这就是你要找的东西。
<script>
function BookingFare() {
var price = 0;
//var ofAdults = getElementById('adults').value;
//var ofChildren = getElementById('children').value;
var bristol = document.getElementById('bristol').value;
console.log(bristol);
if (bristol == 35.0) {
var price = bristol;
}
if (bristol == 40.0) {
var price = bristol;
}
document.getElementById('priceBox').innerHTML = price;
}
</script>
<form>
<select id="bristol">
<option name ="Bristol "value="40.0" id ="BN1">Bristol - Newcastle</option>
<option name ="London "value="35.0" id ="BL1">Bristol - London</option>
</select>
<button type="button" onclick="BookingFare(); return false;">Submit</button>
</form>
<label id='priceBox'></label>
&#13;