タイトルが変な感じだが、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>