@adun3

Как сделать замену при отправке ajax запроса?

Добрый день!
Хочу сделать расчет стоимости доставки, используя апи почты.
Ответ с сервера приходит в виде:
{"rsp":{
"stat":"ok",
"locations":[
{"value":"city--abakan","name":"АБАКАН","type":"cities"},
{"value":"city--anadyr","name":"АНАДЫРЬ","type":"cities"},
... ,
{"value":"city--yaroslavl","name":"ЯРОСЛАВЛЬ","type":"cities"}
]}}

подгружаю их в опции select-a:
function (data) {
    for (i = 0; i < data.rsp.locations.length; i++){
        $("#from").append("<option>" + data.rsp.locations[i].name);
        $("#to").append("<option>" + data.rsp.locations[i].name);

Потом когда надо рассчитать стоимость, и надо посылать запрос,
ничего не приходит.
можно сделать не по полю name, а по полю value, тогда все работает,
но выглядит не красиво (города не по русски, а транслитом).
проверяю какая опция нажата и шлю запрос.
$.ajax({
            url: "http://emspost.ru/api/rest/",
            dataType : "jsonp",
            data: ({
            method:"ems.calculate",
            from: $("#from option:selected").val(),
            to: $("#to option:selected").val(),
            weight: $("#weight").val()
            }),
        success: 
        function (data) {
        if (data.rsp.stat == "fail"){
            $("#raschet").empty().html("Ошибочный вес посылки");
            $("#time").empty();
        }
        else {
            $("#raschet").empty().html("Цена доставки: " + data.rsp.price);
            $("#time").empty().html("время доставки: " + data.rsp.term.min + "-" + data.rsp.term.max + " дней");          
        }

как сделать так, чтобы отображалось по полю name, а расчет был по полю value?
п.с. в jquery 2й день :)
  • Вопрос задан
  • 135 просмотров
Решения вопроса 1
littleguga
@littleguga
Не стыдно не знать, а стыдно не интересоваться.
Добавьте атрибут data-val и в него пишите код города, а в option название.

Вот так
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы