カテゴリー
JavaScript

jQuaryでページ読み込み時にinputのイベントを発生させる

タイトルが変な感じだが、inputのvalueの長さでイベントを発生させたいのだが、ページ読み込み時に発生させることができなかったので、どうしようという案件。

どうも画像を読み込んだ時にはonloadイベント発生するが、タグがレンダリングされる時には、onloadイベントは発生しないようだ。なので、ページ読み込み時に$letterpackElements.each(function(){$(this).keyup();でkeyupイベントを発生させることで、.onの以降の処理も連動して(?)発生させることができた。よかった。実はパイセンが書いてくれたので、私はあまりよくわかっていない。

<script>
$(function(){
var $letterpackElements = $("[id^=letterpack_]");

$letterpackElements.on('keyup',function(){
var letterpack_num = ($(this).val());
if(letterpack_num.length > 10 && letterpack_num.length < 14){
var url='https://xxx/search/?requestNo1='+letterpack_num+'&locale=ja';
$(this).next('a').attr('href',url);
$(this).next('a').html("リンク表示");
}else{
$(this).next('a').attr('href','');
$(this).next('a').html("");
}
});
$letterpackElements.each(function(){
$(this).keyup();
});
});
</script>

カテゴリー
JavaScript

同じclass場合rowspanで列を結合するjQuery

テーブルの列で、同じclassの番号の場合、rowspanで結合するjQuery。配列に入れたcate-xxをfindして、番号込で同じ数値の時は結合する。

こちらのサイトを参考にしました。ありがとうございます。
http://study-upup.blogspot.com/2014/03/jqueryjquery.html

<table id="testTable-1">

<tr>
<td class="cate01-894">test</td>
<td class="cate02-894">user</td>
<td class="cate03-894">test</td>
<td class="cate04-894">完了</td>
</tr>

<tr>
<td class="cate01-894">test</td>
<td class="cate02-894">user</td>
<td class="cate03-894">test</td>
<td class="cate04-894">完了</td>
</tr>

</table>

<script>
var arr = ['cate01','cate02','cate03','cate04'];
var num = 0;
$.each(arr, function(i, value){
var cate = arr[num];
$(document).ready(function(){
$('#testTable-1').each(function () {
var pre_element = null;
var col_num = 0;
$(this).find('tr').each(function () {
var now_td = $(this).find('td[class^='+cate+']').eq( col_num );
if (pre_element == null) {
pre_element = now_td;
} else if (now_td.attr('class') == pre_element.attr('class')) {
now_td.remove();
if (pre_element.attr('rowspan') == null) pre_element.attr('rowspan', 1);
pre_element.attr('rowspan', parseInt(pre_element.attr('rowspan'),10) + 1);
} else {
pre_element = now_td;
}
});
});
});
num++;
})
</script>

 

カテゴリー
WordPress

ACFでタクソノミータームのフィールド値を取得

カテゴリ(タクソノミーターム)ごとにWebアイコンを変えたかったので、ACFでタクソノミータームごとにフィールドを設置できる設定を行ったが、表示方法がよくわからなかった。

こちらのブログに習って設置しました。ありがとうございます。

https://hirashimatakumi.com/blog/1365.html
Advanced Custom Fields で登録したタームのフィールド値を取得する方法

 

実際に設置したコードはこちら。Webアイコンの名前を出力している。

$terms = get_terms('タクソノミー名');
foreach ( $terms as $term ) {
$terms_id = $term->term_id; //termIDを取得

//省略

$icon_name = get_field('フィールド名','タクソノミー名_'.$terms_id);
echo $icon_name;

}