ど素人から毛を生やす。<延>

Web

jsでforeachがやりたいとき、jQueryが使えるなら$.map()がそれっぽい?

Web > javascript 2018年5月2日(最終更新:3月前)

どもです。

jQeryの$.map()って、普段は$("input").map(function(){})みたいに
要素をループさせるのにばかり使っていたのですが、foreach的な使い方ができたんですね。

$.map(array, function(value, key){ })

こーすると。

しかもこのarrayのところ、オブジェクトでもOK。つまり連想配列OKです。やったぜ。

このとき、thisとvalueは同じものが入るので、セレクタとして使いたいときは$(this)でも$(value)でも可。... 続きを読む »

endsWith()って超イイ感じだけどIEの野郎が非対応なんだって!

Web > javascript 2018年4月20日(最終更新:1年前)

どもです。

jsで後方一致が使いたいがために、endsWith()を使いました。
そうしましたところ、

( ゚Д゚)「endsWith()はIEが対応してないから、作り直して!」

(*'ω'*)「今時IEなんて対応して誰が得するんだよォオオオオオオ!!!」

これだと[target].endsWith(str)⇒endsWith([target], str)になるのが痛いですが、仕方ない。

あと今回要らなかったのでパラメータにも対応してないです。つら。

なんとか最小限の変更で回避。IEつら…

この記事は役に立ちましたか?
  • _(:3」∠)_ 面白かった
... 続きを読む »

管理画面にインプットエリアを設置、カスタムフィールドを簡単に更新するためのfunction

Web > WordPress 2018年4月9日(最終更新:1年前)

どもです。
今の仕事はシステム系なので、もうWordPressの記事は更新しなくなるかなぁと思っていたのですが、サイトの改造なんかを行うとまだネタは発生するようです。
ちょっとした変更を行おうとしたら、該当箇所のソースがかなり汚かったので整理整頓模様替え。

投稿画面に任意のフィールドを追加する方法です。function.phpに記載。
ここで追加した値はカスタムフィールドに入るので、取り出し方もカスタムフィールドのものでおk。

変更するのは色付きのところ。
add_post_page_user_metabox ⇒ フィールドのまとまり
add_post_page_user_parameter ⇒ 個別のフィールド

変更する必要はありませんが、
add_post_page_user_tags ⇒ ... 続きを読む »

動的に増やしたhtml要素を操作するjQueryに関するメモ書き

Web > javascript 2018年3月23日(最終更新:1年前)

どもです。

jsで動的に増やしたhtml要素を操作するjQueryに関して、今更感漂うメモ書き。
何かあったら都度増えます。たぶん。

.click()は効かない。.on()を使う。

追加された要素は、.click()、.change()などの古いトリガーの書き方ではトリガーにならない。

ただし、map()などはトリガーではないので、そのまま使える。混同しないこと。


参考サイト:[Qiita]jQuery 便利なonを使おう(on click)

data()はhtmlを書き換えられない

なんでさ。

ネイティブの.datasetか、.attr()を使うべし。旧ブラウザを踏まえたら.attr()が無難か。結局.attr()が万能。


参考サイト:[Qiita]data属性を動的に変更する場合の注意点... 続きを読む »

Eclipseのチェックアウトでsqlite[S14]エラーが発生したとき、プロジェクト名変更で解決するかもしれない。

Web > Other 2018年3月23日(最終更新:1年前)

どもです。

現在、業務にEclipseを使用し、SVNでデータを共有管理しているのですが、
新しいプロジェクトをチェックアウトしようとしたところ、こんなエラーが。

SQLite error
svn: sqlite[S14]: unable to open database file
svn: Additional errors:
... 続きを読む »

Eclipseで勝手に変数の宣言元に跳ぶのをどうにかしたい。

Web > PHP 2018年3月14日(最終更新:11月前)

どもです。
Eclipseは開発のお供ですが、機能が多すぎるのも玉に瑕です。

この頃気になっていたのが、ソースのコピペをしようとした途端、変数の宣言元に意図せずジャンプしてしまう頻度が高いこと。
戻るのは簡単ですが、間違いなく不便ですし、ストレスが溜まります。

この機能、「宣言を開く」という名称だそうです。
変数の上で[Ctrl]キーを押すと、変数にハイパーリンク的なものがつきます。これをクリックすることで宣言元に移動するのですね。便利な機能です。

しかし[Ctrl]は多用するキーなので、他のショートカットを実行しようとして、誤ってリンクとなった変数をクリックしてしまうことが多い。

ちなみにこの「宣言を開く」。デフォルトで[F3]キーにもショートカットが設定されています

じゃあ[F3]でいいよ!! ... 続きを読む »

ステップ操作のトリガー扱いにブラウザ差異があるのでinput[type=number]を使う際は注意。

Web > javascript 2018年3月2日(最終更新:1年前)

どもです。
最近フォーム回りとSQLの話しかしてない気がする。

input[type=number]のフォーム操作について。

入力の数値に変更があった場合は再計算、という簡単なソースを作成したのですが、
Chromeでは正常に動いたのにFireFoxでは上手くいかず。

この原因が、トリガーにonBlurを使用したことでした。
どうやらChromeでは入力欄の上下矢印(ステップ)の操作はフォーカスが当たった扱いになるのですが、FireFoxではそうならないようです。

今回は矢印で操作したいので、onChangeに変更。

うーん、ブラウザ差異は発覚しにくいから厄介だ。(-_-メ)

onChange、発火したりしなかったりするよ!?(追記)

検証結果:
FF→発火する
Chrome→発火したりしなかったりする(3回に1回くらい発火する)
edge→発火しない
IE11→発火しない... 続きを読む »

floatなボタンを下揃えしようとしたら思いのほか苦戦した話。

Web > css 2018年3月2日(最終更新:1年前)

どもです。
フォームのCSSは永遠の課題感あります。

インラインブロック要素であるボタンが2つ以上並んでいて、サイズが違うものがある。
このとき、ボタンを下揃えで並べたい。

通常は、ボタンにvertical-align:bottom;でおk
インラインな要素なら、普通はこれで解決できます。

が、
事情があって、このボタンはfloat:right;されているのです。

具体的には、このボタンたちはフォームのsubmit用ボタンで、... 続きを読む »

[MySQL]特定の条件下にて検索結果が1件になってしまうらしい。

Web > Other 2018年2月13日(最終更新:1年前)

どもです。
MySQLにて。

少し前にリリースしたソースに、唐突に不具合の報告が入りました。
曰く、特定の条件下にて、本来は複数件ヒットするはずの検索結果が1件になってしまうとのこと。

デバッグしてみたところ、SELECT文の出力までは問題ないように見えます。
が、確かに条件次第でMySQLからの返答が1件になってしまっています。
この条件についても、たまたま見つかった不具合であって、あくまでこうなる条件自体は不明。

今回のケースですが、原因がまさかのORDER BY。

ここのDBの構成は、ひとつの親に対し、複数の子がつきます。
そのため、子は親のIDと枝番をキーにしています。親子をJOINした状態です。求めるのは子。

こうなっていたところを、

にしたところ、何故か直りました。

結局、原因はよくわからないままなのですが、今回のケースだと、明らかに修正版の方が「正しい」。
「値が同じだからどちらでも良いだろう」とか軽いノリはダメですね。反省。... 続きを読む »