Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: JQuery - wyświetlanie w polu tekstowym wybranej wartości
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
leewang
Witam

Mam problem z wyświetlaniem w okienku wybranej wartości.

Możecie podpowiedzieć jak to zrobić?

Mam taki kod html:

  1. <!DOCTYPE html>
  2. <head>
  3. <meta charset="utf-8" />
  4. <meta name="viewport" content="width=device-width, initial-scale=1" />
  5. </title>
  6. <link rel="stylesheet" href="https://ajax.aspnetcdn.com/ajax/jquery.mobile/1.1.1/jquery.mobile-1.1.1.min.css" />
  7. <link rel="stylesheet" href="my.css" />
  8. <script src="scripts/jquery-1.8.3.min.js" type="text/javascript"></script>
  9. <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
  10. <script src="https://ajax.aspnetcdn.com/ajax/jquery.mobile/1.1.1/jquery.mobile-1.1.1.min.js"></script>
  11.  
  12. </head>
  13. <body>
  14. <!-- Home -->
  15.  
  16. <div id='calculator' data-role="page" >
  17. <div data-theme="a" data-role="header">
  18. <h3>
  19. Kalkulator
  20. </h3>
  21. </div>
  22. <div data-role="content">
  23. <div data-role="fieldcontain">
  24. <input type="text" style="text-align: right;" value="0" id="display" name="display"/>
  25. </div>
  26.  
  27.  
  28. <a data-role="button" data-inline="true" href="#" class='digits'>1</a>
  29. <a data-role="button" data-inline="true" href="#" class='digits'>2</a>
  30. <a data-role="button" data-inline="true" href="#" class='digits'>3</a>
  31. <a data-role="button" data-inline="true" href="#" class='digits'>4</a>
  32. <a data-role="button" data-inline="true" href="#" class='digits'>5</a>
  33. <a data-role="button" data-inline="true" href="#" class='digits'>6</a>
  34. <a data-role="button" data-inline="true" href="#" class='digits'>7</a>
  35. <a data-role="button" data-inline="true" href="#" class='digits'>8</a>
  36. <a data-role="button" data-inline="true" href="#" class='digits'>9</a>
  37. <a data-role="button" data-inline="true" href="#" class='digits'>0</a>
  38.  
  39. <a data-role="button" data-inline="true" href="#" class='operations'>+</a>
  40. <a data-role="button" data-inline="true" href="#" class='operations'>-</a>
  41. <a data-role="button" data-inline="true" href="#" class='operations'>*</a>
  42. <a data-role="button" data-inline="true" href="#" class='operations'>/</a>
  43. <a data-role="button" data-inline="true" href="#" class='operations'>=</a>
  44.  
  45.  
  46. </div>
  47. </div>
  48. </script>
  49. </body>


Chciałbym wyświetlić w polu o nazwie display wartość którą przycisnę buttonem.

Jak mogę to zrealizować? Później będę dopisywał sobie funkcje które liczą itd, ale na razie nie wiem jak pokazać to co przycisnę w polu display?

Pozdrawiam
nospor
Nie w okienku, a w polu tekstowym.... Siedziałem 5 minut i sie zastanawiałem gdzie ty masz to okienko...

Kod
<a data-role="button" data-inline="true" href="#" onclick="jQuery('#display').val('1');return false;" class='digits'>1</a>

Analogicznie reszta
leewang
Dzięki, o to mi chodziło wink.gif

Mam teraz drugi problem z pobraniem zmiennych, może ktoś wpadnie na pomysł jak to zrobić?

  1. <!DOCTYPE html>
  2. <meta charset="utf-8" />
  3. <meta name="viewport" content="width=device-width, initial-scale=1" />
  4. <link rel="stylesheet" href="https://ajax.aspnetcdn.com/ajax/jquery.mobile/1.1.1/jquery.mobile-1.1.1.min.css" />
  5. <link rel="stylesheet" href="my.css" />
  6. /* App custom styles */
  7. <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js">
  8. <script src="https://ajax.aspnetcdn.com/ajax/jquery.mobile/1.1.1/jquery.mobile-1.1.1.min.js">
  9. <script src="my.js">
  10. </head>
  11. <!-- Home -->
  12. <div data-role="page" id="page1">
  13. <div data-theme="a" data-role="header">
  14. <h3>
  15. Kalkulator
  16. </h3>
  17. </div>
  18. <div data-role="content">
  19. <div data-role="fieldcontain">
  20. <fieldset data-role="controlgroup">
  21. <label for="wyswietlacz">
  22. <textarea name="wyswietlacz" id="wyswietlacz" placeholder="">
  23. </div>
  24. <div class="ui-grid-d">
  25. <div class="ui-block-a">
  26. <button data-role="button" data-theme="e" href="#page1">
  27. 1
  28. </div>
  29. <div class="ui-block-b">
  30. <button data-role="button" data-theme="e" href="#page1">
  31. 2
  32. </div>
  33. <div class="ui-block-c">
  34. <button data-role="button" data-theme="e" href="#page1">
  35. 3
  36. </div>
  37. <div class="ui-block-d">
  38. <button data-role="button" data-theme="a" href="#page1">
  39. +
  40. </div>
  41. <div class="ui-block-e">
  42. <button data-role="button" data-theme="a" href="#page1">
  43. -
  44. </div>
  45. <div class="ui-block-a">
  46. <button data-role="button" data-theme="e" href="#page1">
  47. 4
  48. </div>
  49. <div class="ui-block-b">
  50. <button data-role="button" data-theme="e" href="#page1">
  51. 5
  52. </div>
  53. <div class="ui-block-c">
  54. <button data-role="button" data-theme="e" href="#page1">
  55. 6
  56. </div>
  57. <div class="ui-block-d">
  58. <button data-role="button" data-theme="a" href="#page1">
  59. *
  60. </div>
  61. <div class="ui-block-e">
  62. <button data-role="button" data-theme="a" href="#page1">
  63. /
  64. </div>
  65. <div class="ui-block-a">
  66. <button data-role="button" data-theme="e" href="#page1">
  67. 7
  68. </div>
  69. <div class="ui-block-b">
  70. <button data-role="button" data-theme="e" href="#page1">
  71. 8
  72. </div>
  73. <div class="ui-block-c">
  74. <button data-role="button" data-theme="e" href="#page1">
  75. 9
  76. </div>
  77. <div class="ui-block-d">
  78. <button data-role="button" data-theme="a" href="#page1">
  79. ^
  80. </div>
  81. <div class="ui-block-e">
  82. <button data-role="button" data-theme="a" href="#page1">
  83. p
  84. </div>
  85. <div class="ui-block-a">
  86. <button data-role="button" data-theme="a" href="#page1">
  87. C
  88. </div>
  89. <div class="ui-block-b">
  90. <button data-role="button" data-theme="e" href="#page1">
  91. 0
  92. </div>
  93. <div class="ui-block-c">
  94. <button data-role="button" data-theme="a" href="#page1">
  95. =
  96. </div>
  97. <div class="ui-block-d">
  98. </div>
  99. <div class="ui-block-e">
  100. </div>
  101. </div>
  102. </div>
  103. </div>
  104.  
  105. var PoleWyswietlacza;
  106.  
  107. $(document).ready(function() {
  108. PoleWyswietlacza = $('#wyswietlacz');
  109. $("button").bind('tap', function() {
  110. przyciskNacisniety();
  111. })
  112. })
  113.  
  114. function przyciskNacisniety() {
  115.  
  116.  
  117. var przycisk = event.target.innerText;
  118.  
  119. if (przycisk=='=') {
  120. oblicz();
  121. } else if(przycisk=='+')
  122. {
  123. dodaj();
  124.  
  125.  
  126.  
  127. }
  128. else if(przycisk=='C')
  129. {
  130. wyczysc();
  131. }else
  132. wyswietlacz(przycisk);
  133. }
  134.  
  135. function dodaj(){
  136. var zmienna1=PoleWyswietlacza.val();
  137. var zmienna2;
  138. alert(zmienna1 +" Zmienna2: "+ zmienna2);
  139.  
  140. }
  141.  
  142.  
  143.  
  144. function wyswietlacz(przycisk) {
  145. var nowyWyswietlacz = PoleWyswietlacza.val() + przycisk;
  146. PoleWyswietlacza.val(nowyWyswietlacz)
  147. }
  148.  
  149. function oblicz() {
  150. try {
  151. var nowyWyswietlacz = eval(PoleWyswietlacza.val());
  152. PoleWyswietlacza.val(nowyWyswietlacz);
  153. } catch (error) {
  154. PoleWyswietlacza.val("Error")
  155. }
  156. }
  157.  
  158. function wyczysc(){
  159.  
  160. PoleWyswietlacza.val('');
  161.  
  162. }
  163.  
  164. </body>
  165. </html>


Kod
//Tutaj ma się pokazywać na wyświetlaczu to co zostało naciśnięte
$(document).ready(function() {
PoleWyswietlacza = $('#wyswietlacz');
$("button").bind('tap', function() {
przyciskNacisniety();
})
})

//Tutaj pokazuje się na wyświetlaczu to co kilka razy było naciśnięte np nacisnę dwa razy 5 to pokaze się 55 a nie sama 5.
function wyswietlacz(przycisk) {
var nowyWyswietlacz = PoleWyswietlacza.val() + przycisk;
PoleWyswietlacza.val(nowyWyswietlacz)
}

//Tutaj chciałem wprowadzić obsługę przycisków funkcyjnych tzn jak nacisnę + to że ma się dodawać, jak nacisnę = to ma być wynik itd tylko nie wiem jak to zrealizować

function przyciskNacisniety() {

var przycisk = event.target.innerText;

if (przycisk=='=') {
oblicz();
} else if(przycisk=='+')
{
// tutaj mam problem z pobraniem zmiennych
}
else if(przycisk=='C')
{
wyczysc();
}else
wyswietlacz(przycisk);
}


//To jest źle
function dodaj(){
var zmienna1=PoleWyswietlacza.val();
var zmienna2;
alert(zmienna1 +" Zmienna2: "+ zmienna2);

}

//Tutaj funkcja czyszcząca ekran:

function wyczysc(){

PoleWyswietlacza.val('');

}


Opisałem jak mogłem, chodzi mi o to jak pobrać drugą zmienną po kliknięciu przycisku + ?

To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.