оповещения в операторах else - PullRequest
0 голосов
/ 27 мая 2011

Почему этот код не будет работать правильно?Если кто-то выберет что-то с идентификатором «1599», то в предупреждении будет показано «1 599,00 $».Если идентификатор не совпадает, то в сообщении должно отображаться «$ 1 499,00».Но это не так.Может ли кто-нибудь помочь мне понять это?

спасибо

<html>
<script type="text/javascript">
function showPrice(){

var a = document.getElementById();

    if (a == "1599"){
        alert("$1,599.00");
    }
    else {
        alert("$1,499.00");
    }
}
<body>
<div class="hc_right">
            <input type="button" class="spc" value="Price" onclick="showPrice()" />
            <p class="price" id="1599">$1,599.00</p>
        </div>

        <div class="hc_right">
            <input type="button" class="spc" value="Price" onclick="showPrice()" />
            <p class="price" id="1499">$1,499.00</p>
        </div>
    </div>

</body>
</html>

Ответы [ 3 ]

1 голос
/ 27 мая 2011

Вам нужно сообщить showPrice, для какого элемента вы хотите показать предупреждение. Прямо сейчас вы ничего не выбираете с помощью document.getElementById (a будет либо null, либо undefined на данный момент).

Существует множество способов сделать это, но чтобы приблизить его к вашей текущей реализации, я мог бы сделать что-то вроде этого:

HTML

<div class="hc_right">
        <input type="button" class="spc" value="Price" onclick="showPrice(1599)" />
        <p class="price" id="1599">$1,599.00</p>
    </div>

    <div class="hc_right">
        <input type="button" class="spc" value="Price" onclick="showPrice(1499)" />
        <p class="price" id="1499">$1,499.00</p>
    </div>
</div>

Javascript

function showPrice(a){

    if (a == "1599"){
        alert("$1,599.00");
    }
    else {
        alert("$1,499.00");
    }
    return false;
}

Скрипка здесь

0 голосов
/ 27 мая 2011

Метод document.getElementById() принимает параметр идентификатора для поиска.Что-то вроде:

document.getElementById("1599")

и вернет элемент документа с таким идентификатором.Не уверен, что он вернет, если не передан ни один параметр.

0 голосов
/ 27 мая 2011

Я думаю, вы увидите проблему, если вы добавите оповещения (а); перед if (...) - я предполагаю, что вы не получаете ожидаемого значения

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...