Translate
2016年6月20日月曜日
【jquery】【javascript】jqueryで割り当てられたイベントハンドラを取得する
chromeならデベロッパーツールを開いて、コンソールに
$._data($("#id").get(0), "events");
と入力する。
ラベル:
javascript,
jquery,
お仕事メモ
2016年4月23日土曜日
【javascript】【jquery】スライダーの値を特定の箇所で吸着したい
例えば2-1024までの値のスライダーで、選べる値は2のn乗のみとしたい。
つまり、選べる値は2,4,8,16,32,64,128,256,512,1024とする。
<div class="ui-field-contain" id = "sliderdiv">
<label for="slider">値</label>
<input id="slider" type="range" min="2" max="1024" step="1" value=2/>
</div>
<script>
var keys = [2,4,8,16,32,64,128,256,512,1024];
var keys_length =keys.length;
$(function(){
$("#sliderdiv").on("change", "#slider", function() {
var tmpvalue = $("#slider").val();
for(var n=0;n<keys_length;n++)
{
if(tmpvalue<=keys[n])
{
break;
}
}
if((keys[n]+keys[n+1])/2<tmpvalue)
{
$("#slider").val(keys[n+1]);
}
else {
$("#slider").val(keys[n]);
}
if($("#slider").val()!=tmpvalue)//これ書いておかないと無限に処理を繰り返してしまう
{
$("#slider").slider('refresh');
}
})
})
</script>
つまり、選べる値は2,4,8,16,32,64,128,256,512,1024とする。
<div class="ui-field-contain" id = "sliderdiv">
<label for="slider">値</label>
<input id="slider" type="range" min="2" max="1024" step="1" value=2/>
</div>
<script>
var keys = [2,4,8,16,32,64,128,256,512,1024];
var keys_length =keys.length;
$(function(){
$("#sliderdiv").on("change", "#slider", function() {
var tmpvalue = $("#slider").val();
for(var n=0;n<keys_length;n++)
{
if(tmpvalue<=keys[n])
{
break;
}
}
if((keys[n]+keys[n+1])/2<tmpvalue)
{
$("#slider").val(keys[n+1]);
}
else {
$("#slider").val(keys[n]);
}
if($("#slider").val()!=tmpvalue)//これ書いておかないと無限に処理を繰り返してしまう
{
$("#slider").slider('refresh');
}
})
})
</script>
ラベル:
javascript,
jquery,
お仕事メモ,
スライダー
2016年4月21日木曜日
【javascript】【jquery】スライダーの値によって、buttonを無効(disable)にする
よし、やる気ボタンを押すと仕事をやる気を出すぞ。
でも、暑かったり寒かったりしたらやる気ボタンが表示されないぞ。しょうがない。
という仕組み。
sliderって単純に$("#slider").on("change",function(){...})
じゃ処理は起動しないのね
<div class="ui-field-contain" id = "sliderdiv"> <label for="slider">気温</label>
<input id="slider" type="range" min="0" max="100" step="1" value=0 />
</div>
<button id ="yaruki">
やる気ボタン
</button>
<script>
$(function(){
$("#sliderdiv").on("change", "#slider", function() {
//または、$("input#slider").live("change", function() {
var slider_value = $("#slider").val();
if(15<=slider_value&&slider_value<=25)
{
$('#yaruki').prop('disabled', false);//非表示をオフにする。つまり、表示。
}else{
$('#yaruki').prop('disabled', true);
}
})
})
</script>
でも、暑かったり寒かったりしたらやる気ボタンが表示されないぞ。しょうがない。
という仕組み。
sliderって単純に$("#slider").on("change",function(){...})
じゃ処理は起動しないのね
<div class="ui-field-contain" id = "sliderdiv"> <label for="slider">気温</label>
<input id="slider" type="range" min="0" max="100" step="1" value=0 />
</div>
<button id ="yaruki">
やる気ボタン
</button>
<script>
$(function(){
$("#sliderdiv").on("change", "#slider", function() {
//または、$("input#slider").live("change", function() {
var slider_value = $("#slider").val();
if(15<=slider_value&&slider_value<=25)
{
$('#yaruki').prop('disabled', false);//非表示をオフにする。つまり、表示。
}else{
$('#yaruki').prop('disabled', true);
}
})
})
</script>
ラベル:
javascript,
jquery,
お仕事メモ,
スライダー
2016年4月4日月曜日
動的に作成したhtml部分にjquery/jquery mobileのスタイルが適用されない
#動的部分にinnerhtmlを代入するとして
$("#動的部分").html(innnerhtml)
の後ろに.trigger('create');を追加して
$("#動的部分").html(innnerhtml).trigger('create');
とする。
$("#動的部分").html(innnerhtml)
の後ろに.trigger('create');を追加して
$("#動的部分").html(innnerhtml).trigger('create');
とする。
ラベル:
javascript,
jquery,
お仕事メモ
2016年2月19日金曜日
【php】declare&&ticksと分かり合えるのには時間がかかる気がする
declareについて調べている途中。
<?php
function ticks_echo() {
static $count_of_ticks = 1;
echo 'ticks >> '.$count_of_ticks."<br />";
$count_of_ticks++;
}
register_tick_function( 'ticks_echo' );
declare( ticks = 1 ) {
for($n =1;$n<4;$n++)
{
echo "何かしらの処理:".$n."回目<br />";
}
}
/*
僕の予想:
何かしらの処理:1回目
ticks >> 1
何かしらの処理:2回目
ticks >> 2
何かしらの処理:3回目
ticks >> 3
実際の結果:
何かしらの処理:1回目
ticks >> 1
ticks >> 2
何かしらの処理:2回目
ticks >> 3
ticks >> 4
何かしらの処理:3回目
ticks >> 5
ticks >> 6
ticks >> 7
ticks >> 8
*/
えっ、こいつら、ボディランゲージ通じない感じ。
どうやら、declareは{}ブロックの終わりでも一度評価されるよう。
つまり、
declare( ticks = 1 ) {
for($n =1;$n<4;$n++)
{
echo "何かしらの処理:".$n."回目<br />";
}
}
の挙動は
何かしらの処理:1回目
ticks >> 1//forの最初のecho
ticks >> 2//forの最初の{}閉じ
何かしらの処理:2回目
ticks >> 3//forの2回目のecho
ticks >> 4//forの2回目の{}閉じ
何かしらの処理:3回目
ticks >> 5//forの3回目のecho
ticks >> 6//forの3回目の{}閉じ
ticks >> 7//forの4回目の{}閉じ(forの条件式が$n===4でfalseなので、中の文は実行されず)
ticks >> 8//declare最後の{}閉じ
となっている(のでしょう)。
その辺を考えて使わないと、痛い目にあいそう。
というか、時間計測くらいしか使いどころが分からない・・・。
<?php
function ticks_echo() {
static $count_of_ticks = 1;
echo 'ticks >> '.$count_of_ticks."<br />";
$count_of_ticks++;
}
register_tick_function( 'ticks_echo' );
declare( ticks = 1 ) {
for($n =1;$n<4;$n++)
{
echo "何かしらの処理:".$n."回目<br />";
}
}
/*
僕の予想:
何かしらの処理:1回目
ticks >> 1
何かしらの処理:2回目
ticks >> 2
何かしらの処理:3回目
ticks >> 3
実際の結果:
何かしらの処理:1回目
ticks >> 1
ticks >> 2
何かしらの処理:2回目
ticks >> 3
ticks >> 4
何かしらの処理:3回目
ticks >> 5
ticks >> 6
ticks >> 7
ticks >> 8
*/
えっ、こいつら、ボディランゲージ通じない感じ。
どうやら、declareは{}ブロックの終わりでも一度評価されるよう。
つまり、
declare( ticks = 1 ) {
for($n =1;$n<4;$n++)
{
echo "何かしらの処理:".$n."回目<br />";
}
}
の挙動は
何かしらの処理:1回目
ticks >> 1//forの最初のecho
ticks >> 2//forの最初の{}閉じ
何かしらの処理:2回目
ticks >> 3//forの2回目のecho
ticks >> 4//forの2回目の{}閉じ
何かしらの処理:3回目
ticks >> 5//forの3回目のecho
ticks >> 6//forの3回目の{}閉じ
ticks >> 7//forの4回目の{}閉じ(forの条件式が$n===4でfalseなので、中の文は実行されず)
ticks >> 8//declare最後の{}閉じ
となっている(のでしょう)。
その辺を考えて使わないと、痛い目にあいそう。
というか、時間計測くらいしか使いどころが分からない・・・。
2016年2月4日木曜日
【CSS】【javascript】ドラッグアンドドロップはhoverではない
タイトルどおりなのですが。
ブラウザにファイルをドラッグアンドドロップしてアップロード・・・というものを作っているとき、
指定のゾーンにドラッグしているマウスが移動したら、色を変えるなりしようと思っていたのですが、
実際には、うまく動かない。
ファイルをドロップした後に、hoverとして認識されてしまう。
どうやら、cssのhoverではドラッグ中のマウスは感知できない。
こんなときは、javascriptのdrag~イベントを使うしかないみたい。
マウスがホバーなんだからいいじゃん!とは思ったけど、全くの別物のようです。
ちょっと混乱したのでメモ。
ブラウザにファイルをドラッグアンドドロップしてアップロード・・・というものを作っているとき、
指定のゾーンにドラッグしているマウスが移動したら、色を変えるなりしようと思っていたのですが、
実際には、うまく動かない。
ファイルをドロップした後に、hoverとして認識されてしまう。
どうやら、cssのhoverではドラッグ中のマウスは感知できない。
こんなときは、javascriptのdrag~イベントを使うしかないみたい。
マウスがホバーなんだからいいじゃん!とは思ったけど、全くの別物のようです。
ちょっと混乱したのでメモ。
ラベル:
CSV,
javascript,
お仕事メモ
2016年2月1日月曜日
【phpMyAdmin】【excel】csvをインポートすると先頭の文字が消える
東京都○○区・・・というデータをインポートするが、
都○○区となっていて仰天。
エクセルからcsvを書き出し、phpMyAdminにインポートしようとすると、ファイル先頭の2文字が消えることがある。
文字化けとかではなく、文字欠け。ぐぐっても文字化けの問題ばかりひっかかるので、一応メモ。
エクセル → ヘッダ削除 → CSVにエクスポート → テキストエディタでエンコードをUTF-8に変更 → インポート → 文字欠けで死亡!
悪さが起きるのがファイル最初の文字なので、BOMがゴニョゴニョとしているのかもしれないが、
とりあえず、バッドノウハウだけ書いておこう。
エクセル → CSVにエクスポート → テキストエディタでエンコードをUTF-8に変更 → インポート →
インポート時、phpMyAdminの部分インポートというところで
Skip this number of queries (for SQL) or lines (for other formats), starting from the first one:
の値を「1」
とする。最初の一行をヘッダ扱いで無視するよ・・・ということ。これでたぶん問題なし!
根本的に解決してないので、モヤモヤしますが。
都○○区となっていて仰天。
エクセルからcsvを書き出し、phpMyAdminにインポートしようとすると、ファイル先頭の2文字が消えることがある。
文字化けとかではなく、文字欠け。ぐぐっても文字化けの問題ばかりひっかかるので、一応メモ。
エクセル → ヘッダ削除 → CSVにエクスポート → テキストエディタでエンコードをUTF-8に変更 → インポート → 文字欠けで死亡!
悪さが起きるのがファイル最初の文字なので、BOMがゴニョゴニョとしているのかもしれないが、
とりあえず、バッドノウハウだけ書いておこう。
エクセル → CSVにエクスポート → テキストエディタでエンコードをUTF-8に変更 → インポート →
インポート時、phpMyAdminの部分インポートというところで
Skip this number of queries (for SQL) or lines (for other formats), starting from the first one:
の値を「1」
とする。最初の一行をヘッダ扱いで無視するよ・・・ということ。これでたぶん問題なし!
根本的に解決してないので、モヤモヤしますが。
2016年1月27日水曜日
【php】配列をCSVに書き出し&文字コード変換
表題どおり。
配列内の要素を一つ一つshiftjisに変換してから書き込んでいます。
日本語文字コードを一つに統一して欲しいのだけど、血を血で洗う戦争が起きたりするのでしょうか。
$csv = new SplFileObject( "csv.csv", "w" );
foreach ($array_for_csv as $raw_array) {
$encodedarray =array();
foreach ($raw_array as $rawtext) {
$encodedarray[] = mb_convert_encoding($rawtext,'SJIS');
}
$csv->fputcsv($encodedarray);
}
fclose($csv);
配列内の要素を一つ一つshiftjisに変換してから書き込んでいます。
日本語文字コードを一つに統一して欲しいのだけど、血を血で洗う戦争が起きたりするのでしょうか。
$csv = new SplFileObject( "csv.csv", "w" );
foreach ($array_for_csv as $raw_array) {
$encodedarray =array();
foreach ($raw_array as $rawtext) {
$encodedarray[] = mb_convert_encoding($rawtext,'SJIS');
}
$csv->fputcsv($encodedarray);
}
fclose($csv);
2016年1月13日水曜日
【mysql】最新状況を検索したいの続き
よく考えたら前回の記事では最新状況の一覧は出せたが、検索はできていなかった。
(前回)
FLOW: start -- aaa--bbb--ccc--end
select * from ( select * from log where status = "aaa" OR status = "bbb" OR status = "ccc" order by date desc) as t group by product order by date desc
//all id's recent log
ここからさらに塗装中の個別IDを拾いたいときは、こんな感じ
select * from (select * from ( select * from log order by date desc) as t group by product order by date desc) as t2 where status ="aaa"
//search where recent status is "aaa"
(前回)
FLOW: start -- aaa--bbb--ccc--end
select * from ( select * from log where status = "aaa" OR status = "bbb" OR status = "ccc" order by date desc) as t group by product order by date desc
//all id's recent log
ここからさらに塗装中の個別IDを拾いたいときは、こんな感じ
select * from (select * from ( select * from log order by date desc) as t group by product order by date desc) as t2 where status ="aaa"
//search where recent status is "aaa"
2016年1月9日土曜日
【mysql】最新状況を検索したい
例えばある製品の製造工程をログにとっているとして、
テーブルは
id product status date
という項目、
開梱→組み立て→塗装→梱包→発送
というフローだとする。
このうち、組み立てから梱包までの作業上にある製品の、最新ステータスを検索したいとき
select * from ( select * from log where status = "組み立て" OR status = "塗装" OR status = "梱包" order by date desc) as t group by product order by date desc
group by で値を拾うときはテーブルの一番上の行を採用するらしいので、
ソートをかけて拾いたい最新のデータを、()内で一番上にもってきている。
テーブルは
id product status date
という項目、
開梱→組み立て→塗装→梱包→発送
というフローだとする。
このうち、組み立てから梱包までの作業上にある製品の、最新ステータスを検索したいとき
select * from ( select * from log where status = "組み立て" OR status = "塗装" OR status = "梱包" order by date desc) as t group by product order by date desc
group by で値を拾うときはテーブルの一番上の行を採用するらしいので、
ソートをかけて拾いたい最新のデータを、()内で一番上にもってきている。
2016年1月8日金曜日
【javascript】簡潔な配列の宣言
var array1 = ["contents1","contents2","contents3","contents4","contents5","contents6"];
var array2 ="contents1,contents2,contents3,contents4,contents5,contents6".split(",");
下のほうが書きやすく、要素が多くなるほど文字数を省ける
var array2 ="contents1,contents2,contents3,contents4,contents5,contents6".split(",");
下のほうが書きやすく、要素が多くなるほど文字数を省ける
2015年12月29日火曜日
PHPの連想配列を表にしたい
$curry['肉'] = ['牛肉','鶏肉','豚肉','ひき肉'];
$curry['野菜'] = ['人参','ジャガイモ','玉ねぎ','ほうれん草','トマト'];
$curry['炭水化物'] =['お米','ナン'];
こんな連想配列を
としたい
$curry['野菜'] = ['人参','ジャガイモ','玉ねぎ','ほうれん草','トマト'];
$curry['炭水化物'] =['お米','ナン'];
こんな連想配列を
具材 | 種類 |
---|---|
肉 | 牛肉 鶏肉 豚肉 ひき肉 |
野菜 | 人参 ジャガイモ 玉ねぎ ほうれん草 トマト |
炭水化物 | お米 ナン |
echo "<table>";
foreach($curry as $key => $value){
echo "<tr><td> $key </td><td>";//ここで得られる$valueは配列
foreach ($value as $key2 => $value2) {
echo $value2." " ;
}
echo "</td></tr>";
}
echo "</table>";
登録:
投稿 (Atom)