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月12日木曜日
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>
・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
$("[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
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
1)データインポートのメニューを出すために、ローカルDBに接続し、そのDBの名前を右クリックすると、「タスク→データのインポート」選択できる。その後、変換先のサーバー名をAzure SQLを指定すれば良い。
2)Azure SQLのテーブルには、[id]列は必須です。「マッピングの編集→SQLの編集」で
「[id] int identity primary key,」を追加。
詳細な操作は下記ビデオをご覧ください。
http://www.youtube.com/watch?v=QAd2uAGNHPw
登録:
投稿 (Atom)