けさらんぱさらん

方向性は定めず、ただ思いつくままに

Javascript

Knockout.jsの初期値をDOMから取得する

Knockout.jsを使うときにたまに困るのがDOMの値を初期値にしたい時です。 なんか地道にJQueryでデータを取得してプロパティに代入してたのですが ちょっと調べてみたらカスタマイズしてDOMからデータを取得することができました。 いろいろやり方はあるので…

JavaScriptで一定時間で処理を繰り返す方法

JavaScriptで一定時間で処理を繰り返す方法は setIntervalかsetTimeoutを使うのですが ググるとほとんど setInterval("func()", 1000); こんな感じで呼び出してほしい関数を文字列で渡しているサンプルにぶち当たります。でもsetInterval関数もsetTimeout関…

Knockout.jsのwithを使っていなかったことを後悔している件

Knockout.jsにはwithという制御文があるのですが 今まで使うことは無かったです。 でも絶対使った方が良かったと後悔中例えばこんな構造のデータあります。 var juchu = { juchuNumber: "0001", juchuDate: "2013/11/11", member: { name: "山田太郎", tel: …

Knockout.jsの小ネタ

Knockout.jsでは通常、値をバインドしたい時は <div data-bind="hoge"> このようにプロパティ名を指定します。 Knockout.jsには、とある条件の時にCSSクラスをバインドする機能があります。 例えばこんな感じに書きます。 <div data-bind="css: { css-no-class: foo() }"> このfooは、bool値を持つobservableだとします。 foo = ko</div></div>…

ASP.NET MVCでJSONのプロパティをLowerCaseで返す方法

ASP.NET MVCでアプリケーションを作成しているときに ちょっと困るのがAJAXでオブジェクトを取得したときに プロパティがUpperCaseで返ってくることです。JavaScriptではLowerCaseで扱いたい>< 今まではしょうがないって思ってたんですけどちょうどJavaScr…

jQuery.ajaxで配列を送信するのに嵌った

jQueryのajaxメソッドを使って配列をサーバに送信するのに嵌ったのでメモサーバサイドは、ASP.NET MVCです。まずサーバサイドのコード [HttpPost] public ActionResult Post(string[] values) { return View(); } 引数で文字列の配列を取ります。 予定では、…

JavaScriptのfilterとmap

JavaScriptのArrayオブジェクトにはfilterとmapというメソッドがあります。 ECMAScript5で追加されたみたいなんですけど最近知りました(汗filterは、LINQで言うWhereメソッドです。 こんな感じです。 var array = [1,2,3,4,5,6,7,8,9,10]; array.filter( fu…

Jasmineの続き

前回、中途半端に記事をリリースしてしまったのでフォローをば 前回の記事ajaxメソッドが失敗した時のテストが全然テストになっていない上にテストを実行すると Alertダイアログが出てしまうという・・・修正します。 it("getDataでデータの取得に失敗すると…

JasmineでjQueryのajaxメソッドのテストをする

JavaScriptのテストライブラリJasmineでテストを書いていて嵌ったのでメモテストしたいコードはこんな感じ function Details() { this.id = 0; this.name = ""; } Details.prototype.getData = function (url, id) { var self = this; $.ajax({ url: url, ty…

linq.jsとTypeScript

ちょっと調査したいことがあってlinq.jsを使ったんですが 間抜けなことで嵌ったので自戒を込めて書いておきます。正しく動くコード $(function () { $('#button').bind('click', function () { Enumerable.range(1, 30) .select(function (x) { return x.toS…

KnockoutjsでTwitter風の表示をするには?

KnockoutjsでTwitter風の表示を作りたいと試行錯誤してみました。 とりあえずこうゆう風に表示できればOK つぶやきの一覧の中に更に返信の一覧が表示できるようにしたい。 Knockoutjsのバージョンは2.2.0を使います。 サーバ側のソース Model /// <summary> /// つぶ</summary>…