JQuery отправить 2 значения из переключателя

0

Я работал над этим более 8 часов, пытаясь использовать разные сценарии. Как: if/else, создавая 2 имени и значения, создавая "скрытый" ввод с именем и значениями, создавайте javascript, но jquery тормоз, вот что я получил благодаря @Mood http://jsfiddle.net/LZ5Uz/4/: Теперь моя первая переменная, которую мне нужно отправить, - это "сумма" (у меня ее есть), но мне нужно отправить "повторение" из того же радио, который был проверен. Пример:

   <input name="amount" id="result" type="hidden" />//Here I will send the variable "amount"

Теперь для переменной "повторяющийся" я пытался:

   <input id="q" type="radio" name="presets,recurring" class="q" value="12,Quarterly" />Quarterly
   <labels id="choice_q" class="q"></label> //JQuery break 

Пытаться:

   $('input:radio[name="presets"]').change(
function(){
    if ($(this).is(':checked') && $(this).val() == 'monthly') {

    }
});

Я noob на этом... переменная и значение, которое мне нужно отправить, это: (variable-->) name = "повторяющийся" (значение ->) первая радиостанция проверяется = "ежемесячно" вторая радиостанция = "ежеквартально" "третья радиостанция проверена =" год "

  • 0
    Каков ожидаемый результат?
  • 0
    Было бы проще просто узнать ваши требования, а затем сделать все это для вас ...
Показать ещё 5 комментариев
Теги:

1 ответ

0

Демо-версия jsFiddle

Описание

Чтобы решить вышеупомянутую проблему, я использовал knockoutjs, потому что это предназначено для этого типа UI (UX). jQuery не предназначен для такого типа дизайна.

HTML

<div>
    <input id="amount" type="number" data-bind="value: Amount" />
</div>
<div>
    <input id="m" type="radio" name="presets" value="0" data-bind="checked: RecurringOption, value: Option1" />
    <label for="m" id="choice_m" data-bind="text: Option1"></label>
    <input id="q" type="radio" name="presets" value="1" data-bind="checked: RecurringOption, value: Option2" />
    <label for="q" id="choice_q" data-bind="text: Option2"></label>
    <input id="y" type="radio" name="presets" value="2" data-bind="checked: RecurringOption, value: Option3" />
    <label for="y" id="choice_y" data-bind="text: Option3"></label>
</div>
<input id="result" type="text" readonly="readonly" />
<input id="recurringOption" type="hidden" data-bind="value: RecurringOption" />

JS

// This is a simple *viewmodel* - JavaScript that defines the data and behavior of your UI
function AppViewModel() {
    var self = this;
    this.Amount = ko.observable(50);
    this.RecurringOption = ko.observable();
    this.Option1 = ko.computed(function () {
        if (self.Amount() != null) return (parseFloat(self.Amount(), 10) / parseFloat(36, 10)).toFixed(2);

        return 0;
    }, self);
    this.Option2 = ko.computed(function () {
        if (self.Amount() != null) return (parseFloat(self.Amount(), 10) / parseFloat(12, 10)).toFixed(2);

        return 0;
    }, self);
    this.Option3 = ko.computed(function () {
        if (self.Amount() != null) return (parseFloat(self.Amount(), 10) / parseFloat(3, 10)).toFixed(2);

        return 0;
    }, self);
}

$(function () {
    // Activates knockout.js
    ko.applyBindings(new AppViewModel());

    $("input[name='presets']").change(function () {
        var id = $("input:checked").attr("id");
        $("#result").val($('#' +id).val());
    });
});
  • 0
    Этот код хорош, но я что-то здесь не понимаю: 'code' <input id = "m" type = "radio" name = "presets" value = "0" data-bind = "checked: RecurringOption, value: Option1" / > <label for = "m" id = "choice_m" data-bind = "text: Option1"> </ label>:
  • 0
    Так что я не могу изменить на (ежемесячно ...), потому что скрипт присваивает этому значению число 'code' (this.Option1 = ko.computed (function () {if (self.Amount ()! = Null) return (parseFloat) (self.Amount (), 10) / parseFloat (36, 10)). toFixed (2);) как я могу отправить повторяющуюся переменную, когда все переменные являются числами?
Показать ещё 1 комментарий

Ещё вопросы

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