У меня есть простая функция JavaScript, которая проверяет, является ли тип поездки безопасным
function CheckIfSafeRideRoundTrip()
{
var comboBox = $find("<%=rcmb_TripType.ClientID%>");
var selectedTripType = comboBox.get_selectedItem().get_text();
var isAirportRoundTrip = false;
if(selectedTripType == "Safe Ride - Round Trip");
isAirportRoundTrip = true;
return isAirportRoundTrip;
}
Значение selectedTripType возвращает "Round Trip - Airport", но по некоторым причинам булево выражение сравнения возвращает true и устанавливает isAirportRoundTrip в true. rcmb_TripType является telerik radComboBox, который не имеет значения, поскольку я убедился в значении selectedTripType через отладчик в качестве дополнительной информации. Я называю функцию
function BuildConfirmationLayout()
{
var divOthersAddressInfo = document.getElementById("div_OthersLocationInfo");
var divAirportAddressInfo = document.getElementById("div_AirPortLocationInfo");
var divAirportRoundTrip = document.getElementById("div_Airport_SecondTicketDate");
var divSaferideRoundTrip = document.getElementById("div_SafeRide_Standby");
var isAirport = CheckIfAirportTrip();
var isAirportRoundTrip = CheckIfAirportRoundTrip();
var isSafeRideRoundTrip = CheckIfSafeRideRoundTrip();
if (isAirport) {
divOthersAddressInfo.style.display = "none";
divAirportAddressInfo.style.display = "block";
divAirportRoundTrip.style.display = "none";
divSaferideRoundTrip.style.display = "none";
}
else {
divAirportAddressInfo.style.display = "none";
divOthersAddressInfo.style.display = "block";
divAirportRoundTrip.style.display = "none";
divSaferideRoundTrip.style.display = "none";
}
if(isAirportRoundTrip)
{
divAirportRoundTrip.style.display = "none";
divSaferideRoundTrip.style.display = "block";
}
if(isSafeRideRoundTrip)
{
divAirportRoundTrip.style.display = "none";
divSaferideRoundTrip.style.display = "block";
}
}
3 ответа
Точка с запятой после оператора if
завершает строку, удалите ее, и все будет в порядке.
if(selectedTripType == "Safe Ride - Round Trip"); <-- remove this semi colon
if(selectedTripType == "Safe Ride - Round Trip");
У вас есть ;
здесь. Это так же, как:
if(selectedTripType == "Safe Ride - Round Trip"){}
Вы хотели сделать следующее:
if(selectedTripType == "Safe Ride - Round Trip"){
isAirportRoundTrip = true;
}
(Вам просто нужно потерять ;
. Я только добавил {}
для ясности; хорошая идея всегда иметь их.)
Это потому, что у вас есть точка с запятой после этой строки:
if(selectedTripType == "Safe Ride - Round Trip");
Он завершает оператор if
и следующая строка всегда выполняется.
Похожие вопросы
Новые вопросы
javascript
По вопросам программирования на ECMAScript (JavaScript / JS) и его различных диалектах / реализациях (кроме ActionScript). Включите все соответствующие теги в свой вопрос; например, [node.js], [jquery], [json] и т. д.