반응형
블로그 이미지
개발자로서 현장에서 일하면서 새로 접하는 기술들이나 알게된 정보 등을 정리하기 위한 블로그입니다. 운 좋게 미국에서 큰 회사들의 프로젝트에서 컬설턴트로 일하고 있어서 새로운 기술들을 접할 기회가 많이 있습니다. 미국의 IT 프로젝트에서 사용되는 툴들에 대해 많은 분들과 정보를 공유하고 싶습니다.
솔웅

최근에 올라온 글

최근에 달린 댓글

최근에 받은 트랙백

글 보관함

카테고리


반응형
Manage events on switches




change event는 switch 의 값이 바뀌면 이에 대해 알려줄 수 있도록 하는 기능이 있습니다. 이 이벤트는 스위치가 클릭 됐을 때 일어납니다. switch 의 왼쪽을 클릭했는지 오른쪽을 클릭했는지 상관없change event가 일어납니다.

주의 : jQuery Mobile 의 버전에 따라 switch 에 한번 클릭했는데 두번 change events 가 발생 할 수도 있습니다. switch 의 어느 부분을 클릭했느냐에 따라 다른데요. 이 문제를 해결하시려면 아래 예제를 잘 봐 주세요.


Retrieve the new value of the switch when clicked


alert ($("select").val ());


아래 예제는 change event 를 사용해서 switch 를 클릭했을 때 이것을 어떻게 처리할지에 대한 예제 파일입니다. switch를 클릭할 때마다 그 값이 아래에 출력됩니다.


Manage the change event of a switch


<!DOCTYPE html>


<html> 

<head> 

  <meta name=viewport content="user-scalable=no,width=device-width" />

  <link rel=stylesheet href=jquery.mobile/jquery.mobile.css />

  <script src=jquery.js></script>

  <script src=jquery.mobile/jquery.mobile.js></script>

</head> 


<body> 


<div data-role=page id=home>

  <div data-role=header>

    <h1>Home</h1>

  </div>


  <div data-role=content>

    <span> Would you like an apartment: </span>

    <select data-role=slider>

      <option value=no> No </option>

      <option value=yes> Yes </option>

    </select>

    <div id=txt></div>

  </div>

</div>


</body>

</html>


<script>


$("select").bind ("change", function (event)

{

  $("#txt").append ($(this).val () + ", ");

});


</script>






tistory506_03.html




반응형


반응형

Assign and retrieve the value of a switch



Switch already present in the HTML code


switch는  single <select> element 입니다. 이런 elements 들을 관리하는 것은 val (value) method를 사용합니다. selection list 에 값을 할당하거나  val () method를 사용해서 현재 select 된 값을 retrieve 하게 되는거죠. 두 경우 모두 <option> element 의 value attribute 에 정의된 값입니다.


Set the switch to Yes


$("select").val ("yes");


Retrieve the current value of the switch


alert ($("select").val ());


이 메소드를 사용해서 프로그램이 시작할 때 switch 를 Yes로 만들어 보죠.


Assign and retrieve the value of a switch


<!DOCTYPE html> 

<html> 

<head> 

  <meta name=viewport content="user-scalable=no,width=device-width" />

  <link rel=stylesheet href=jquery.mobile/jquery.mobile.css />

  <script src=jquery.js></script>

  <script src=jquery.mobile/jquery.mobile.js></script>

</head> 


<body> 


<div data-role=page id=home>

  <div data-role=header>

    <h1>Home</h1>

  </div>


  <div data-role=content>

    <span> Would you like an apartment </span>

    <select data-role=slider>

      <option value=no> No </option>

      <option value=yes> Yes </option>

    </select>

  </div>

</div>


</body>

</html>


<script>


$("select").val ("yes");

alert ($("select").val ());


</script>



tistory505_01.html


Switch dynamically created


val (value) 와 val () methods 들도 이런 경우 사용할 수 있습니다. 아마 이 경우 값이 바뀐 후에도 switch display 가 refresh 되지 않아서 값이 바뀌지 않을 겁니다. 이럴 경우 slider ("refresh") method를 사용해서 refresh 합니다.


Set the switch to Yes


<!DOCTYPE html>

<html> 

<head> 

  <meta name=viewport content="user-scalable=no,width=device-width" />

  <link rel=stylesheet href=jquery.mobile/jquery.mobile.css />

  <script src=jquery.js></script>

  <script src=jquery.mobile/jquery.mobile.js></script>

</head> 


<body> 


<div data-role=page id=home>

  <div data-role=header>

    <h1>Home</h1>

  </div>


  <div data-role=content>

    <span> Would you like an apartment: </span>

  </div>

</div>


</body>

</html>


<script>


var html = "";

html += "<select data-role=slider>";

html +=   "<option value=no> No </option>";

html +=   "<option value=yes> Yes </option>";

html += "</select>";


$("#home div:jqmData(role=content)").append (html);


$("select").bind ("slidercreate", function (event)

{

  $("select").val ("yes");

  $("select").slider ("refresh");

});


</script>



tistory505_02.html






윈도우가 생성될 때 한번 switch 를 HTML 코드로 생성할 수 도 있습니다.  (pagecreate event). 경우 HTML 은 jQuery Mobile에 의해 변환되서 jQuery Mobile 형식에 맞는 switch 를 display 하게 되죠. 이를 위해 <select> element 에서 slider () method 를 call 해야 합니다.


Create the switch after creating the window


<!DOCTYPE html> 

<html> 

<head> 

  <meta name=viewport content="user-scalable=no,width=device-width" />

  <link rel=stylesheet href=jquery.mobile/jquery.mobile.css />

  <script src=jquery.js></script>

  <script src=jquery.mobile/jquery.mobile.js></script>

</head> 


<body> 


<div data-role=page id=home>

  <div data-role=header>

    <h1>Home</h1>

  </div>


  <div data-role=content>

    <span> Would you like an apartment: </span>

  </div>

</div>


</body>

</html>


<script>


$("#home").bind ("pagecreate", function (event)

{

  var html = "";

  html += "<select data-role=slider>";

  html +=   "<option value=no> No </option>";

  html +=   "<option value=yes> Yes </option>";

  html += "</select>";

  

  $("#home div:jqmData(role=content)").append (html);

  

  $("select").slider ();

  $("select").val ("yes");

  $("select").slider ("refresh");

});


</script>



tistory505_03.html






반응형

Ajax로 switch 삽입하기

2012. 12. 4. 22:03 | Posted by 솔웅


반응형
Insert a switch by Ajax


HTML 이나 JavaScript 를 직접 사용해서 switch 를 만드는 것 보다 Server 쪽에 Ajax를 요청하고 응답을 받아서 만들 수 있습니다.


Create a switch by Ajax


<!DOCTYPE html>


<html> 

<head> 

  <meta name=viewport content="user-scalable=no,width=device-width" />

  <link rel=stylesheet href=jquery.mobile/jquery.mobile.css />

  <script src=jquery.js></script>

  <script src=jquery.mobile/jquery.mobile.js></script>

</head> 


<body> 


<div data-role=page id=home>

  <div data-role=header>

    <h1>Home</h1>

  </div>


  <div data-role=content>

    <span> Would you like an apartment: </span>

  </div>

</div>


</body>

</html>


<script>


$.ajax (

  url : "action.php", 

  complete : function (xhr, result)

  {

    if (result != "success") return;

    var response = xhr.responseText;

    $("#home div:jqmData(role=content)").append (response);

    

    $("select").slider ();

  }

});  


</script>



slider () method는 switch 와 관련된 <select> element 에사용되고 서버로부터 switch를 display 할 HTML 코드를 받아서 HTML 코드를 변환시켜주는 역할을 합니다. 만약 이 메소드가 call 되지 않으면 simple selection list (<select> element 에 해당하는)가 display 됩니다.


action.php file


<?
$html = "";
$html .= "<select data-role=slider>";
$html .= "<option value=no> No </option>";
$html .= "<option value=yes> Yes </option>";
$html .= "</select>";
echo utf8_encode ($html);
?>


action19.php

tistory504_01.html






반응형


반응형

정말 새로운 정치를 바랍니다.

제발 새로운 미래를 위해서라도 새로운 정치가 태어나는 걸 보고 싶습니다.


그 새로운 정치를 해 줄 것으로 기대하고 있는 안철수 씨가 문재인 후보를 지지했습니다.

그리고 새로운 정치를 함께 해 나가겠다고 하셨습니다.


사실 두분 다 보기 안쓰럽습니다.

그냥 편안히 잘 사셔도 되는데 국민들이 험한 정치판으로 내몰았으니까요.


우리가 내 몰았으니까 우리가 끝까지 책임져야 되겠습니다.


지금은 지긋지긋한 MB의 5년도 모자라서 구태 정치의 원조세력인 박정희의 딸 박근혜가 유력하다고 합니다.


그걸 그냥 보고만 있고 싶지 않습니다.


저도 그 험한 길로 안철수/문재인을 내 몬 사람 중의 한명이기 때문에 끝까지 책임 지고 싶습니다.


그래서 오늘부터 제 블로그 상단에 문재인 후보 배너를 달 겁니다.


블로그 등을 통해서 지지의사를 밝히는 것은 법적으로 문제가 없습니다.


http://www.moonjaein.com/hongbo_pds/657123 로 가시면 여러분들도 맘에 드는 배너를 골라서 여러분의 블로그에 다실 수 있습니다.





반드시 정권 교체를 이루어서 안철수와 문재인이 만들어가는 새정치에 참여합시다.

반응형


반응형
Turning an HTML element into a jQuery Mobile switch



이전 글에 있는 예제의 소스코드를 볼까요. Firebug로 보시면 jQuery Mobile이 그 소스코드를 어떻게 변환했는지 보실 수 있습니다.






<select> element는 항상 있습니다. 하지만 ui-slider CSS class가 있는
<div> element는 jQuery Mobile에 의해 생성됩니다.

그렇게 함으로서 <select> selection list가 다른 모습으로 보일 수 있도록 바뀌는 겁니다. 이 리스트는 이제 ui-slider-switch class를 가지고 있는 것을 보실 수 있을 겁니다. 이것은 <select> element를 숨길수 있도록 해 줍니다. (display property가 "none"으로 세팅되도록 정의된 CSS class)



반응형


반응형

switch 를 만드는 것은 주로  jQuery method들을 이용해서 만듭니다.
data-role="slider" attribute 가 있는 <select> element를 사용하면 switch 가 됩니다. 이것을 관리하기 위해서 jQuery Mobile에서는 slider () method를 제공합니다. switch는 standard slider component와 연결 돼 있습니다.



Dynamically create a switch


data-role="slider" attribute가 있는 <select> element 를 사용해서 switch 를 만듭니다. switch 의 두개 값을 나타내기 위해 두개의  <option> elements도 사용합니다.


Dynamic creation of a switch


<!DOCTYPE html>


<html> 

<head> 

  <meta name=viewport content="user-scalable=no,width=device-width" />

  <link rel=stylesheet href=jquery.mobile/jquery.mobile.css />

  <script src=jquery.js></script>

  <script src=jquery.mobile/jquery.mobile.js></script>

</head> 


<body> 


<div data-role=page id=home>

  <div data-role=header>

    <h1>Home</h1>

  </div>


  <div data-role=content>

    <span> Would you like an apartment: </span>

  </div>

</div>


</body>

</html>


<script>


var html = "";

html += "<select data-role=slider>";

html +=   "<option value=no> No </option>";

html +=   "<option value=yes> Yes </option>";

html += "</select>";


$("#home div:jqmData(role=content)").append (html);


</script>






tistory502_01.html



반응형

Radio 버튼 생성 예제들...

2012. 12. 3. 21:58 | Posted by 솔웅


반응형
Examples of manipulation of radio buttons



Transmit the selected radio button to the server and then display another window


서버에 방금 select 된 radio 버튼을 전송하려고 합니다. 서버에서는 연관된 radio 버튼의 id 를 포함한 다른 윈도우를 회송할 겁니다.



Transmit the id of the selected radio button and then display a new window


<!DOCTYPE html>


<html> 

<head> 

  <meta name=viewport content="user-scalable=no,width=device-width" />

  <link rel=stylesheet href=jquery.mobile/jquery.mobile.css />

  <script src=jquery.js></script>

  <script src=jquery.mobile/jquery.mobile.js></script>

</head> 


<body> 


<div data-role=page id=home>

  <div data-role=header>

    <h1>Home</h1>

  </div>


  <div data-role=content>

    <span> Choose the number of rooms: </span>

    <div data-role=controlgroup>

      <label for=id1> 1 </label>

      <input type=radio id=id1 name=rooms />

      <label for=id2> 2 </label>

      <input type=radio id=id2 name=rooms />

      <label for=id3> 3 </label>

      <input type=radio id=id3 name=rooms />

      <label for=id4> 4 </label>

      <input type=radio id=id4 name=rooms />

      <label for=id5> 5 </label>

      <input type=radio id=id5 name=rooms />

    </div>

  </div>

</div>


</body>

</html>


<script>


$(":radio").bind ("change", function (event)

{

  var data = { };

  data["rooms"] = this.id;

  

  $.mobile.changePage ("action.php", { data : data } );

});


</script>


Each time you click a radio button, a call to the server is performed that displays a window indicating the identifier of the selected radio button.

We use the data property that contains the property rooms, indicating the id of the radio button. For example data.rooms is id1 if the first radio button is selected.

radio 버튼을 클릭할 때마다 server 를 call 하는 것이 발생합니다. 그러면 select 된 radio 버튼의 identifier 를 가리키는 window 를 display 하게 됩니다.


action.php file


<?
$rooms = $_REQUEST["rooms"];
?>

<!DOCTYPE html> 
<html> 
<head> 
  <meta http-equiv=Content-Type content=text/html;charset=iso-8859-1 />
</head> 

<body>
<div data-role=page id=win2 data-add-back-btn=true>
  <div data-role=header>
    <h1>Window 2</h1>
  </div>
  
  <div data-role=content>
    <p> Selected rooms (id) : <?= $rooms ?> </p>
  </div>
</div>
</body>

</html>


첫번째 아이템을 선택하면 아래와 같은 화면을 보실 겁니다.




action17.php

tistory501_01.html




Use a submit button to transmit information


select 된 radio 버튼을 pass 하는 대신에 submit button 버튼을 사용해서 선택된 radio 버튼 값을 표시하는 화면을 display 하도록 할 수 있습니다.


Send the selected radio button when you click on the submit button


<!DOCTYPE html>


<html> 

<head> 

  <meta name=viewport content="user-scalable=no,width=device-width" />

  <link rel=stylesheet href=jquery.mobile/jquery.mobile.css />

  <script src=jquery.js></script>

  <script src=jquery.mobile/jquery.mobile.js></script>

</head> 


<body> 


<div data-role=page id=home>

  <div data-role=header>

    <h1>Home</h1>

  </div>


  <div data-role=content>

    <form action=action.php>

      <span> Choose the number of rooms: </span>

      <div data-role=controlgroup>

        <label for=id1> 1 </label>

        <input type=radio id=id1 name=rooms value=1 />

        <label for=id2> 2 </label>

        <input type=radio id=id2 name=rooms value=2 />

        <label for=id3> 3 </label>

        <input type=radio id=id3 name=rooms value=3 />

        <label for=id4> 4 </label>

        <input type=radio id=id4 name=rooms value=4 />

        <label for=id5> 5 </label>

        <input type=radio id=id5 name=rooms value=5 />

      </div>

      <input type=submit value=OK>

    </form>

  </div>

</div>


</body>

</html>



이제 form 에 OK button과 radio buttons들이 있습니다. 그리고 action.php call 합니다. 자바스크립트 부분은 너무너무 간단합니다. 왜냐하면 자바스크립트가 필요 없으니까요. jQuery Mobile 이 form validation 과 함께 내부적으로 과정을 모두 진행을 합니다.

이전 예제와 비교하자면 이번 예제에서는 각 radio 버튼마다 반드시 value attribute를 명시해야 합니다. 그 값이 서버로 전송될 거거든요. 그래서 그 값으로 선택된 radio 버튼을 알 수 있는 겁니다.


action.php 이전과 같습니다. 이전 파일을 그대로 사용하셔도 됩니다.


action.php file


<?
$rooms = $_REQUEST["rooms"];
?>

<!DOCTYPE html> 
<html> 
<head> 
  <meta http-equiv=Content-Type content=text/html;charset=iso-8859-1 />
</head> 

<body>
<div data-role=page id=win2 data-add-back-btn=true>
  <div data-role=header>
    <h1>Window 2</h1>
  </div>
  
  <div data-role=content>
    <p> Selected rooms (value) : <?= $rooms ?> </p>
  </div>
</div>
</body>

</html>



action18.php

tistory501_02.html


반응형


반응형

프레이저 보고서


학교 다닐 때 들었던 기억이 납니다.

근데 그 내용은 배우지 않았죠.


박정희가 미국 의원들을 상대로 뇌물바치다가 걸린 사건.

미국에서는 이걸 코리아 게이트라고 합니다.

그래서 미국 국회에서 청문회까지 열렸는데요.


이 사실을 정밀 조사하기 위해 프레이저 의원을 중심으로 조사활동을 벌이고 그 결과물로 보고서를 만듭니다.




위 사진은 프레이저 보고서 표지 입니다.

여기로 가시면 전문을 보실 수 있습니다.


원래 제목은 Investigation of Korean-American Relations 이지만 프레이저 의원이 만들었다고 해서 프레이저보고서 혹은 프레이저 청문회 보고서라구 하죠.


박정희의 일본군 장교시절과 공산주의자였던 시절 그리고 쿠테타로 정권을 잡고 난 다음 어떻게 경제를 망치는데 탁월한 능력을 발휘했는지 등등이 자세히 기록 돼 있습니다.


처조카 사위이자 박정희가 중매를 서서 결혼한 김종필이 거대한 주가조작 범죄를 저질러 엄청난 돈을 가로챈 사건으로 시작해 제대로 조사나 준비도 하지 않고 화폐개혁을 해 한국 내 공장의 반 이상이 멈춰 서버리는 '지독히도 멍청한 짓' -당시 미국 대사의 표현입니다. - 을 저지른 사건 등등.


지독한 권위주의 독재 장기 집권을 통해 훌륭한 지도자로 쇠뇌교육을 시킨 덕택에 지금도 한국사람들은 박정희가 경제를 일으킨 지도자로 생각하는 사람들이 많이 있습니다.


그리고 그 후광을 얻어서 그의 딸 박근혜가 이번에 유력한 대통령 후보로 선두를 달리고 있구요.


이번에 민족문제연구소에서 아주 훌륭한 다큐멘터리를 만들었네요.


역사를 바로 배웁시다. 그래야 제대로 된 역사를 만들어 나갈 수 있습니다.



전체화면으로 보시려면 여기 http://youtu.be/z-up2VNU8eo 로 가셔서 보세요.



반응형


반응형

제가 새로운 블로그를 개설했습니다.


http://alieninus.tistory.com


미국에서 직장생활을 하다 보니까 이 블로그에 다루는 Mobile Web/App 기술도 필요하지만 영어도 계속 갈고 닦아야할 공부할 거리입니다.


이 블로그가 제가 제 업무에 필요한 테크닉을 배우고 정리하는 블로그라면

http://alieninus.tistory.com 는 영어를 공부하는 블로그입니다.


직장 생활하면서 오고가는 이메일 중에 제가 공부할 거리를 찾아서 따로 정리하고 표현을 익히고 나중에 다시 써먹고 하면서 영어를 익히려구요.




제가 정리한 글들이 여러분들에게도 도움이 될 수 있을 것 같아서 open 할 생각입니다.

(이 블로그 coronasdk.tistory.com 도 같은 이유에서 open 하는 거예요.)


여러분들 많이 들러 주시고 홍보도 많이 해 주시고 좋으시면 광고도 많이 클릭해 주세요.


보시려면 지금 여기를 눌러 주세요.

반응형


반응형
Customize radio buttons

이전에 jQuery Mobile이 어떻게 오리지널 HTML 에서 jQuery Mobile convention에 맞도록 display 될 HTML 코드로 변환하는지 살펴 봤습니다. 아래 예제를 볼까요. jQuery Mobile 에 의해서 사용되는 CSS 클래스들을 몇개 바꿔서 색다른 radio 버튼을 만들어 보겠습니다.


Styling the radio buttons


<!DOCTYPE html> 

<html> 

<head> 

  <meta name=viewport content="user-scalable=no,width=device-width" />

  <link rel=stylesheet href=jquery.mobile/jquery.mobile.css />

  <script src=jquery.js></script>

  <script src=jquery.mobile/jquery.mobile.js></script>


  <style type=text/css>

    .ui-controlgroup .ui-radio label {

      font-size : 25px;

      font-style : italic;

    }

    .ui-radio .ui-btn {

      text-align : right;

    }

  </style>

</head> 


<body> 


<div data-role=page id=home>

  <div data-role=header>

    <h1>Home</h1>

  </div>


  <div data-role=content>

    <span> Choose the number of rooms: </span>

    <div data-role=controlgroup>

      <label for=id1> 1 </label>

      <input type=radio id=id1 name=rooms />

      <label for=id2> 2 </label>

      <input type=radio id=id2 name=rooms />

      <label for=id3> 3 </label>

      <input type=radio id=id3 name=rooms />

      <label for=id4> 4 </label>

      <input type=radio id=id4 name=rooms />

      <label for=id5> 5 </label>

      <input type=radio id=id5 name=rooms />

    </div>

  </div>

</div>


</body>

</html>


tistory498_01.html





반응형