2010-01-23 2 views
3

У меня есть требование иметь небольшую форму с некоторыми текстовыми полями на них и кнопку в конце, которая с указанным соотношением сторон (в скрытом текстовом поле) позволяет пользователю вводить значение в поле ширины, например, и когда пользователь меняет значение, которое также изменит текстовое поле height.также при вводе в поле высоты ширина изменится. Я не хочу, чтобы кто-то делал это для меня, но я бы потребовал некоторую помощь, чтобы настроить jquery-функции для запуска, когда я изменяю текст в текстовом поле partiqular.Jquery Width/Height Calculator, основанный на соотношении сторон?

Любая помощь, руководство будет fantastic..many благодаря

Chris

ответ

0

Добро пожаловать в StackOverflow.

Вы можете сделать что-то вроде этого:

$('#widthBoxId').focusout(function(){ 
    var height = $(this).val() //math calculations based on $('#hiddenRatioId') 
    $('#heightBoxId').val(height); 
}); 

Вы можете сделать обратное с коробкой высоты.

+0

фантастический..и постараюсь, что очень скоро .. давайте узнаем, как я нахожусь ..:) ... могу ли я просто подтвердить .. $ (this) .val() .. is это функция? мне нужно изменить это, чтобы выполнить действие, или я могу извлечь его в функцию ..? – kalabo

+0

$ (this) .val() относится к текущему значению $ ('# widthBoxId'), поскольку вы находитесь внутри обработчика события (.focusout()) для этого элемента. – jay

1

Это то, что у вас есть теперь ... почти там ... но есть ли простой способ округлить числа?

<!DOCTYPE html> 
<html> 
<head> 
    <script src="scripts/jquery-1.3.2.min.js"></script> 
</head> 
<body> 

<input type='text' id='aspectratio' /> 
<input type='text' id='width' /> 
X 
<input type='text' id='height' /> 
    <div></div> 
<script> 
$('#width').keyup(function(){ 
    var aspectratio = $('#aspectratio').val(); 
    var width = $(this).val(); 
    var height = aspectratio * width; 
    $('#height').val(height); 
}); 

$('#height').keyup(function(){ 
    var aspectratio = $('#aspectratio').val(); 
    var height = $(this).val(); 
    var width = aspectratio/height; 
    $('#width').val(width); 
}); 

</script> 
</body> 
</html> 
+0

Крис, вы должны обновить свой исходный пост, указав, что это обновление, а не публикация ответа ... но вы можете округлить, используя Math.floor (number), где number - это номер, который вы хотите округлить. – jay

+0

благодарит за информацию ... им нравится этот сайт, хотя ... очень полезно :) – kalabo

+0

Это фантастический ресурс. Обязательно ознакомьтесь с часто задаваемыми вопросами: http://stackoverflow.com/faq – jay

Смежные вопросы