Я много пробовал с этим кодом, но он продолжает портиться. Проблемы:
- при нажатии +/- 2 добавляется / вычитается вместо одного; почему-то метод вызывается дважды
- когда вы нажимаете кнопку отправить, функция +/- просто больше не работает
Я не могу найти проблему, и прежде чем отправлять сообщение об ошибке в jquery-mobile, я бы сначала хотел узнать, не делаю ли я что-то очень глупое.
Когда я удаляю jquery-mobile .js файл, все работает отлично, но с ним не работает.
После отправки URL-адреса показывается #bang в URL-адресе, и когда он появляется, он перестает работать
Код:
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.0b2/jquery.mobile-1.0b2.min.css" />
<script src="http://code.jquery.com/jquery-1.6.2.min.js"></script>
<script src="http://code.jquery.com/mobile/1.0b2/jquery.mobile-1.0b2.min.js"></script>
</head>
<body>
<div data-role="page" id="home">
<div data-role="content">
<form method="post">
<a id="minus" href="#">-</a>
<input type="text" id="value" name="days" value="1" />
<a id="plus" href="#">+</a>
<script>
$('#home').live('pagecreate',function(event){
var valueElement = $('#value');
function incrementValue(e){
valueElement.val(Math.max(parseInt(valueElement.val()) + e.data.increment, 0));
return false;
}
$('#plus').bind('click', {increment: 1}, incrementValue);
$('#minus').bind('click', {increment: -1}, incrementValue);
});
</script>
<input type="submit" value="submit" />
</div></div>
</form></body></html>
Редактировать: изменил его, чтобы он лучше соответствовал мобильной структуре, добавив туда комментарии ниже. Решает проблему один; двойной вызов метода, однако вторая проблема; после отправки он перестает работать.
Ответ Филла работает и, как ни странно, он всегда работает так;
var inputs = $("input[type='text']");
for(i=0;i<inputs.length;i++) {
if (inputs[i].getAttribute("id") == "value") {
inputs[i].value = currentValue;
}
}
Если я выберу каталог, элемент не будет работать после отправки; Кто-нибудь знает объяснение этого?