[ カテゴリー » Programぽいの » html+ ]

jQueryバージョンアップで使えなくなるセレクタ

ほとんど↓の記事のパクリですが。。。
jQuery 1.4.4 で使えなくなってるセレクタ - m2Link

まあ、検索にヒットしやすくなるということで書きます。

htmlでこんなフォーム部品があって、その値をjQueryで使用する場合。
<input type="text" name="arr[key]" size="8" />

なにかの都合で、PHPなどでフォーム値を配列として取得したいな、というわけで、
name属性に配列を指定しています。
ここがミソ。

jQueryで取得はこうしていた訳だが(ホントは"["や"]"などの記号はエスケープしなきゃいけないみたいだけど…)
var val=$(":input[name=arr[key]]").val();

これが、jQuery1.5にしたら動かなくなった。

どうすればいいのかというと、とりあえず↓のようにすれば動きました。
var val=$(":input[name='arr[key]']").val();

つまり、「foo='var'」と、右辺をクォートすればよいようです。
やってみてないけど、シングルとダブルクォーテーションを入れ替えてもよいと思われ。
var val=$(':input[name="arr[key]"]').val();

jQuery

— posted by たか at 09:48 pm   pingTrackBack [0]

勝手xlsでセル内改行

WebアプリでCSVを吐き出して、利用者様にはExcelで開いてもらう場合、おそらく巷で良く起こっていると思われる現象…
『電話番号の最初の"0"が表示されんぞゴルァLink

というわけで、CSV形式ではなく、Excelが直接読める形式にすることによって、Webアプリ側で書式設定を施す。という方法。

◎ヘッダーで、
Content-Type: application/vnd.ms-excel
Content-Disposition: attachment; filename="katte.xls"
◎ボディのHTMLヘッダで、
<style>
.string {mso-number-format:"¥¥@";}
</style>
◎ボディのHTMLボディでTABLE組んで、
<td style="string">09090909090</td>

というお話は今回のメインではないので、詳しく知りたい方は上記キーワードでググれかし。

で、上記方法で、セル内改行を行いたい場合に困った。
まずは、改行文字のみだと、その部分に空白が表示されるだけ。
というわけで、PHPでいうところのnl2br()で<br>タグに変換すると…
なんか、改行の数だけ行数が増えて、同行の改行なしのセルは勝手に結合されて、、、

グーグル先生に聞いてもご機嫌ナナメだし…
でも、ヒントは賜った。

Excelシート自体が検索に引っ掛かり、そのソースが表示された。
…実際に作ってソースを解析すればいいんだ。
さあ、Excelを起動、セル内改行を作って、「Webページとして保存」。テキストエディタで開く。
どんなスタイルを使っているんだ…?

紆余曲折を経て、
br {mso-data-placement:same-cell;}
brタグ全体に指定されてたのね…orz
セルに指定されたスタイルのどれが効いてるのか必死に探しちまったよ。
早く気付けよ、俺。

というわけで、さっきのスタイル指定を
<style>
br {mso-data-placement:same-cell;}
.string {mso-number-format:"¥¥@";}
</style>
な感じにしましょう。

PHP セル内改行 勝手xls csv

— posted by たか at 11:31 am   pingTrackBack [0]

商用利用可能な外部リンク用アイコン

外部リンク用アイコンを作ってみました [Cool Web Window]Link
ありがたや~。

と思ったんだけど、結局自作した。
こんなものに著作権など主張しません(^^;
↓勝手に持って行ってご自由にお使い下さいませ。
outerLink




添付ファイル: outerLink.ico  outerLink2.ico  outerLink3.ico 

— posted by たか at 11:43 pm   pingTrackBack [0]

IE6+背景透過PNG+position:absolute+リンク

IE6+背景透過PNG+position:absolute+リンク = さようなら、IELink


さて、背景画像に透過PNGを用い、position:absoluteで絶対座標位置指定をした場合。
ちまたのfixスクリプトを用いると、その中身のリンクが作動しなくなったりする。
そこで、ピンポイント仕様で対応スクリプトを作った。ので、メモ。

$(".ieBackgroundPngFix").each(function(){
  if(jQuery.browser.msie&&jQuery.browser.version<7){
    var $t=jQuery(this);var $c=$t.clone();
    if($t.css("backgroundImage").match(/^url[("']+(.*¥.png)[)"']+$/i)) {
      $t.css({filter:"progid:DXImageTransform.Microsoft.AlphaImageLoader(src="+RegExp.$1+",sizingMethod='scale')",background:"none"})
          .html("&nbsp;").after($c.css({background:"none"}));
    }
  }
});

複製して、片方を空にしてフィルタ適用(画像表示用)、片方は背景消してそのまま配置(リンク等を作動させる用)。position:absoluteなので、うまくかさなってくれ~。
…無茶してます(^^;

あ、コードはほぼ↓のパクリですよ。でも、あいであはおいらのだお。
アルファ画像を扱うalphafilter.jsライブラリ[to-R]Link

透過PNG バグ IE6 IE

— posted by たか at 09:41 pm   pingTrackBack [0]

jQueryのサイズ取得メソッド

jQuery でサイズや位置を取得する方法を図にしてみた - Cyokodog::DiaryLink
やっぱり絵にするとわかりやすいなぁ。

jQuery

— posted by たか at 09:38 pm   pingTrackBack [0]

T: Y: ALL: Online:
ThemeSwitch
Created in 0.1219 sec.
prev
2017.11
next
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30    
 
blogBar
Firefox3 Meter