Значение одного от значений другого
Как при изменении одного
<input type="text" id="14" name="option[233]" value="100" /> изменить автоматические значение в поле <input type="text" id="15" name="option[234]" value="100" /> и чтобы еще было соотношение сторон... вот нашел кусок кода //proportions $('#height, #slider-height').bind('keyup slide', function(){ if($('#proportions input').is(':checked')){ var proportions = $('.image').width() / $('.image').height(); $('#width').val(($('#slider-height').slider('value') * proportions).toFixed(0)); $('#height').val(($('#slider-height').slider('value'))); } if ($(this).is('#height') && parseInt($(this).val()) > 95) { $(this).val(95); } }); $('#width, #slider-width').bind('keyup slide', function(){ if($('#proportions input').is(':checked')){ var proportions = $('.image').width() / $('.image').height(); $('#height').val(($('#slider-width').slider('value') / proportions).toFixed(0)); $('#width').val(($('#slider-width').slider('value'))); } }); |
<input type="text" id="14" name="option[233]" value="100" /> <input type="text" id="15" name="option[234]" value="100" /> <script> document.getElementById('14').addEventListener('input', function(e){ document.getElementById('15').value = this.value; }); </script> |
Сделал как вы написали, но он меняет только если вводишь в ручную.
А у меня значение первого инпута меняет jQuery UI Slider, такой ползунок. вот код страницы. <div id="slider"></div> <script type="text/javascript"> jQuery("#slider").slider({ min: 1, max: 4, values: 4, range: "max", stop: function(event, ui) { jQuery("input#14").val(jQuery("#slider").slider("values",0)); }, slide: function(event, ui){ jQuery("input#14").val(jQuery("#slider").slider("values",0)); } }); </script> ...... <b>Длина:</b><br /> <input type="text" id="14" name="option[233]" value="100" /> <br /> <b>Ширина:</b><br /> <input type="text" id="15" name="option[234]" value="100" /> ...... <script> document.getElementById('14').addEventListener('input', function(e){ document.getElementById('15').value = this.value; }); </script> Нужно что бы при изменении слайдером значений в инпуте id="14" изменялись значения и во втором |
Цитата:
Цитата:
|
не понял...я не особо в Java силен
|
<script type="text/javascript"> jQuery("#slider").slider({ min: 1, max: 4, values: 4, range: "max", stop: function(event, ui) { jQuery("input#14").val(jQuery("#slider").slider("values",0)); jQuery("input#14").input() }, slide: function(event, ui){ jQuery("input#14").val(jQuery("#slider").slider("values",0)); jQuery("input#14").input() } }); </script> Сделал так...не помогает |
EleGant,
Эээ а Вы зачем выбросили (*Подразумевалось для совместного пользования <script> 37 document.getElementById('14').addEventListener('input', function(e){ 38 document.getElementById('15').value = this.value; 39 }); 40 </script> ========================== На Query аналог выше приведённой функции: jQuery("input#14").live('input',function(){ jQuery("input#15").val(jQuery(this).val()); }); |
Сделал так:
<b>Длина:</b><br /> <input type="text" id="14" name="option[233]" value="100" /> <br /> <b>Ширина:</b><br /> <input type="text" id="15" name="option[234]" value="100" /> .... <script type="text/javascript"> jQuery("#slider").slider({ min: 1, max: 4, values: 4, range: "max", stop: function(event, ui) { jQuery("input#14").val(jQuery("#slider").slider("values",0)); }, slide: function(event, ui){ jQuery("input#14").val(jQuery("#slider").slider("values",0)); } } ); </script> <script type="text/javascript"> jQuery("input#14").live('input',function(){ jQuery("input#15").val(jQuery(this).val()); });</script> Но все равно не работает от слайдера...только если в инпут 14 вводишь руками тогда меняет 15...а если слайдером двигаешь то в 14 меняются значения, а в 15 нет |
<b>Длина:</b><br /> <input type="text" id="14" name="option[233]" value="100" /> <br /> <b>Ширина:</b><br /> <input type="text" id="15" name="option[234]" value="100" /> .... <script type="text/javascript"> jQuery("#slider").slider({ min: 1, max: 4, values: 4, range: "max", stop: function(event, ui) { jQuery("input#14").val(jQuery("#slider").slider("values",0)); jQuery("input#14").input() }, slide: function(event, ui){ jQuery("input#14").val(jQuery("#slider").slider("values",0)); jQuery("input#14").input() } } ); </script> <script type="text/javascript"> jQuery("input#14").live('input',function(){ jQuery("input#15").val(jQuery(this).val()); });</script> |
Событие input отсутствует в ie7-8 если что. Возможно jquery это исправляет.
Цитата:
|
Часовой пояс GMT +3, время: 07:41. |