Значение одного от значений другого
Как при изменении одного
<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, время: 03:41. |