Нужно $ постить текст о выделенных полях, а не их значения

0

Нужно писать текстовые поля, а не их значения.

HTML:

<select name="one" id="one">
    <option value="0">Select *</option>
    <option value="3000">Plan A</option>
    <option value="6000">Plan B</option>
    <option value="9000">Plan C</option>
</select>
<br />
<select name="two" id="two">
    <option>Please choose from above</option>
</select>
<div id="total"></div>

JS:

// arrays instead of comma separated list and added base key
var data = {
    "0": ["Please choose from above"],
        "3000": ["saad_0", "Coffee_465", "Coke_984"],
        "6000": ["saad_0", "Coffee_465", "Coke_984"],
        "9000": ["saad_0", "Chips_123", "Cookies_987"]
}

$("#one").change(function () {
    var first = $(this),
        second = $("#two"),
        key = first.val(),
        // instead of the original switch code
        vals = data[key] == undefined ? data.base : data[key],
        html = [];
    // create insert html before adding
    $.each(vals, function (i, val) {
        var v = val.split('_');
        html.push('<option value="' + v[1] + '">' + v[0] + '</option>')
    });
    // no need to empty the element before adding the new content
    second.html(html.join());
});

$("#one,#two").change(function () {
    var val1 = parseInt($('#one').val()) || 0,
        val2 = parseInt($('#two').val()) || 0;
    $('#total').text(val1 + val2)
})

Что я использую:

$message .= "<br>One : " . $_POST['one'];
$message .= "<br>Two  : " . $_POST['two'];

И в результате электронной почты я получаю значения, которых я не хочу. Поскольку значения нужны только для расчета.

Кто-то сказал мне связать мой метод почты с jquery, о котором я понятия не имею.

Демо: ссылка jsfiddle

  • 1
    если вы хотите текст, не используйте .val. .val для получения значения.
  • 0
    .val используется для расчета значений.
Показать ещё 2 комментария
Теги:
forms

1 ответ

0
$("#yourdropdownid option:selected").text(); 

Ещё вопросы

Сообщество Overcoder
Наверх
Меню