前提・実現したいこと
jquery初心者です。
undefindの表記を表示させないようにしたいのですが、うまく非表示にすることが来ません。
どなたかアドバイスを頂けないでしょうか?
また、この書き方の場合、もっとこう書いたほうがいいなどあれば、ぜひよろしくおねがいします。
jqueryを使って投稿の印刷機能を作ろうとしています。
ボタン一つでポストのようなものを印刷できるようにしています。
印刷ボタンを押すとモーダルが出てきて、ラジオボタンでフレームを選択、選択したフレームにtextを配置し印刷するようにしています。
該当のソースコード
$(function() { $('.print').on('click', function () { var one = $('table td')[1]; var two = $('table td')[3]; var three = $('table td')[5]; var four = $('table td')[7]; var five = $('table td')[9]; var six = $('table td')[11]; var text1 = document.getElementById("content"); var image = document.getElementById('image'); var htmldoc = document.body.innerHTML; $('button').click(function () { var radio = $('input[name="radio"]:checked').val(); if (radio === 'frameone') { frm = '<%= image_tag "00.png", style:"width: 100%;" %>'; } else if (radio === 'frametwo') { frm = '<%= image_tag "01.png", style:"width: 100%;"%>'; }; var text2 = "<div class='tdtop'>" + one + "</div>" + "<div class='tdcell'>" + two + "</div>" + "<div class='tdcell'>" + three + "</div>" + "<div class='tdcell'>" + four + "</div>" + "<div class='tdcell'>" + five + "</div>" + "<div class='tdcell'>" + six + "</div>"; if ( text2 == 'undefined' ){ text2 == ""; }; window.document.body.innerHTML = "<div>" + frm + text1.innerHTML + "</strong>" + "<div>" + image.innerHTML + "</div>" + text2.innerHTML + "</div>"; window.print(); document.body.innerHTML = htmldoc; location.reload(); }); }); });
試したこと
ググってみて、if文で分岐して空の要素(””)を入れるなど試したところ、うまくいきませんでした。
補足情報
jquery 1.12.4
Rails 5.1.4
Ruby 2.4.2

回答3件
あなたの回答
tips
プレビュー