02.02.2013, 08:07
|
Аспирант
|
|
Регистрация: 09.06.2012
Сообщений: 39
|
|
Значение одного от значений другого
Как при изменении одного
<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')));
}
});
|
|
02.02.2013, 08:58
|
|
Профессор
|
|
Регистрация: 11.09.2010
Сообщений: 8,804
|
|
<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>
|
|
02.02.2013, 12:24
|
Аспирант
|
|
Регистрация: 09.06.2012
Сообщений: 39
|
|
Сделал как вы написали, но он меняет только если вводишь в ручную.
А у меня значение первого инпута меняет 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" изменялись значения и во втором
|
|
02.02.2013, 13:22
|
без статуса
|
|
Регистрация: 25.05.2012
Сообщений: 8,219
|
|
Сообщение от EleGant
|
Сделал как вы написали, но он меняет только если вводишь в ручную.
|
После очередного программного ввода = вызывайте событие
Цитата:
|
jQuery("input#14").val(jQuery("#slider").slider("v alues",0));
jQuery("input#14").input()
|
|
|
02.02.2013, 14:07
|
Аспирант
|
|
Регистрация: 09.06.2012
Сообщений: 39
|
|
не понял...я не особо в Java силен
|
|
02.02.2013, 14:15
|
Аспирант
|
|
Регистрация: 09.06.2012
Сообщений: 39
|
|
<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>
Сделал так...не помогает
|
|
02.02.2013, 14:19
|
без статуса
|
|
Регистрация: 25.05.2012
Сообщений: 8,219
|
|
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());
});
Последний раз редактировалось Deff, 02.02.2013 в 14:23.
|
|
02.02.2013, 14:50
|
Аспирант
|
|
Регистрация: 09.06.2012
Сообщений: 39
|
|
Сделал так:
<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 нет
|
|
02.02.2013, 15:26
|
без статуса
|
|
Регистрация: 25.05.2012
Сообщений: 8,219
|
|
<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>
|
|
|
|