2014年6月12日木曜日

jquery mobileとknockout併用際checkboxレイアウト崩れる対応

jquery mobileとknockout併用し、APPを開発しているが、getMyCards()実行したら、konckoutでvisible: falseをbindingしているcheckboxは表示されてしまった。もう一度getMyCards()実行すると、ちゃんと表示しなくなった。

<li><a href="#mycardpage" data-theme="a" onclick="getMyCards();">Myカード</a></li>

そこで、以下の2つ方法があった。

1)getMyCards()の最初に$.mobile.changePage("#mycardpage");追加
2) onclickのところを以下のように変更
<li><a href="#mycardpage" data-theme="a"
                       onclick="$(document).on('pageinit','#mycardpage',function(){
                                                                       getMyCards();
                                                                       });">Myカード</a></li>

2014年6月10日火曜日

konckoutによるjquery mobile listviewへのbinding

いろいろ試した結果、いくつかの発見を纏める。
・checkboxをlabelの中に入れると、visible bindingが効かなくなる
・「$index」そのまま使うと、文字列操作の式でfunctionの文字列が使われる。0からの値で利用したい場合は「$index()」を使う

JS
var appViewModel = { cards: ko.observableArray([]),
                   addMode: ko.observable(false)};

ko.applyBindings(appViewModel);

HTML
    <ul data-role="listview" id="card_list" data-inset="true" data-bind="foreach: cards">
                <li>
                    <a href="#">
                        <input type="checkbox" name ="card-to-add"
                                       data-bind="visible: $root.addMode,
                                                  attr: {id: 'checkbox-'+$index()}">
                        <label data-bind="attr: {for: 'checkbox-'+$index()}">
                            <span data-bind="text: CARDNAME"></span>
                        </label>
                    </a>
                </li>
            </ul>

2014年6月9日月曜日

jquery mobileのcheckboxを選択できる状態にする

jquery mobileを使って、JSで動的にcheckboxを追加しても、クリックしても何も反応はない。そこで、以下のJSを挿入することで解決できた。

$("[type=checkbox]").checkboxradio(); //add this line to enable checkbox

2014年5月14日水曜日

phonegap開発フロー

開発フロー 
 
cordova create pg_triplan com.caihongtown.trip "trip plan"
cd  pg_triplan
cordova platform add android
cordova build
 
emulatorを起動後 
 
cordova emulate android
cordova run android(端末にインストール) 


pluginの管理
cordova pluginインストールしたpluginの表示)
cordova plugin search KEYWORD(使用できるpluginの検索) 
cordova plugin add org.apache.cordova.inappbrowser(追加)
cordova plugin rm org.apache.cordova.console(削除) 

2014年5月7日水曜日

phonegapをブラウザーでデバッグ

jsがブラウザーでデバッグできると便利。phonegap desktopは実現してくれる。

https://github.com/jxp/phonegap-desktop

使い方:
1)Copy debugdata.json into the root www folder of the project
2)Use the phonegap-desktop.js in place of the standard phone gap library
3)web serverを起動。pythonを利用すれば便利。python -m SimpleHTTPServer 8080
4)そして http://localhost:8080/ にアクセス

2014年5月6日火曜日

UPDATE column from other columns

sql serverにLATとLNGをfloatとして保存した。位置情報をNULLになっていたGPSLOCに保存したい。

update [dbo].SHOPINFO
set GPSLOC = geography::Point(LAT,LNG,4326)
GO

2014年5月2日金曜日

SSMS経由でExcelデータをAzure SQLへインポート

2つテクニックがあります。
1)データインポートのメニューを出すために、ローカルDBに接続し、そのDBの名前を右クリックすると、「タスク→データのインポート」選択できる。その後、変換先のサーバー名をAzure SQLを指定すれば良い。

2)Azure SQLのテーブルには、[id]列は必須です。「マッピングの編集→SQLの編集」で
「[id] int identity primary key,」を追加。


詳細な操作は下記ビデオをご覧ください。

http://www.youtube.com/watch?v=QAd2uAGNHPw