измените значение поля, когда установят переключатели

Вместо того, чтобы использовать десятичный шаг непосредственно, намного более безопасно выразить это с точки зрения того, сколько точек Вы хотите. Иначе погрешность округления с плавающей точкой, вероятно, даст Вам неправильный результат.

можно использовать эти linspace функция от библиотека NumPy (который не является частью стандартной библиотеки, но относительно легок получить). linspace берет ряд вопросов для возврата и также позволяет Вам указать, включать ли правильную конечную точку:

>>> np.linspace(0,1,11)
array([ 0. ,  0.1,  0.2,  0.3,  0.4,  0.5,  0.6,  0.7,  0.8,  0.9,  1. ])
>>> np.linspace(0,1,10,endpoint=False)
array([ 0. ,  0.1,  0.2,  0.3,  0.4,  0.5,  0.6,  0.7,  0.8,  0.9])

, Если Вы действительно хотите использовать значение шага с плавающей точкой, Вы можете, с numpy.arange.

>>> import numpy as np
>>> np.arange(0.0, 1.0, 0.1)
array([ 0. ,  0.1,  0.2,  0.3,  0.4,  0.5,  0.6,  0.7,  0.8,  0.9])

погрешность округления С плавающей точкой будет проблемы причины, все же. Вот простой случай, где погрешность округления заставляет arange производить длину 4 массива, когда это должно только произвести 3 числа:

>>> numpy.arange(1, 1.3, 0.1)
array([1. , 1.1, 1.2, 1.3])

6
задан datisdesign 24 August 2009 в 13:45
поделиться

4 ответа

Используйте свойство onClick:

<input type="radio" name="r1" value="10" onClick="document.getElementById('hidfield').value=this.value"/>10
    <br/>
    <input type="radio" name="r1" value="45" onClick="document.getElementById('hidfield').value=this.value"/>
    45
    <br/>
    <input type="hidden" name="sum" value="" id="hidfield" />
13
ответ дан 8 December 2019 в 17:25
поделиться

Используя jQuery, это будет:

$(":radio").click(function () {
    var inputValue = $this.val();
    $(":hidden[name='sum']").val() = inputValue;
$(":hidden[name='sum']").name() = "lalala";
    });

Я дважды не проверял этот код, поэтому может потребоваться небольшая настройка.

1
ответ дан 8 December 2019 в 17:25
поделиться

Вы можете попробовать, например,

<input type="radio" id="radio1r1" name="r1" value="10" />10
<br/>
<input type="radio" id="radio2r1" name="r1" value="45" />45
<br/>
<input type="hidden" name="sum" value="" />

jQuery("input[id^='radio']").click(function() {
    jQuery("input[name='sum']").val(jQuery(this).val());
}

Итак, когда пользователь нажимает на каждое радио, мы обрабатываем его по разным идентификаторам с одинаковым запуском.

1
ответ дан 8 December 2019 в 17:25
поделиться

перехватить событие onclick для радиокнопки "r1". Обычно я предлагаю событие onchange, но в IE оно не запускается до тех пор, пока пользователь не «размывает» переключатель.

Если вы используете фреймворк, такой как jQuery, подключайтесь к событиям в приятной ненавязчивой манере ... но если вам нужно быстрое и грязное решение, просто добавьте события в строку.

<input type="radio" name="r1" value="10" onclick="doIt(this);"/>10
<br/>
<input type="radio" name="r1" value="45" onclick="doIt(this);"/>45
<br/>
<input type="hidden" name="sum" value="" />

<script>
  function doIt(obj){
    //alert('my value is now: ' + obj.value);
    obj.form.elements['sum'].value = obj.value;//set hidden field to radio value
  }
</script>
-1
ответ дан 8 December 2019 в 17:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: