<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>JavaScript &#8211; フリーランスさばいばる</title>
	<atom:link href="https://dev-memo.net/category/programming/javascript/feed/" rel="self" type="application/rss+xml" />
	<link>https://dev-memo.net</link>
	<description>生涯フリーランスで生き延びるためのブログ</description>
	<lastBuildDate>Sat, 29 Oct 2022 09:28:34 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.2</generator>

<image>
	<url>https://dev-memo.net/wp-content/uploads/2022/06/cropped-favicon-32x32.png</url>
	<title>JavaScript &#8211; フリーランスさばいばる</title>
	<link>https://dev-memo.net</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>【JavaScript】Select2ライブラリの検索方式を前方一致に変更する方法【コピペで対応】</title>
		<link>https://dev-memo.net/select2_much_start/</link>
					<comments>https://dev-memo.net/select2_much_start/#respond</comments>
		
		<dc:creator><![CDATA[キミヒラ]]></dc:creator>
		<pubDate>Tue, 20 Nov 2018 10:54:25 +0000</pubDate>
				<category><![CDATA[JavaScript]]></category>
		<guid isPermaLink="false">https://dev-memo.net/?p=1165</guid>

					<description><![CDATA[<p><img src="https://dev-memo.net/wp-content/uploads/2018/11/woman-1076254_1280-1024x508.jpg" class="webfeedsFeaturedVisual" /></p>JavaScriptのライブラリの「Select」で前方一致検索させる方法についての説明です。 Select2はデフォルトでは部分一致検索されるのですが、それを前方一致に変更する方法になります。 コピペで簡単に対応出来る [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><img src="https://dev-memo.net/wp-content/uploads/2018/11/woman-1076254_1280-1024x508.jpg" class="webfeedsFeaturedVisual" /></p>
<p><span class="ymarker"><strong>JavaScript</strong>のライブラリの<strong>「Select」</strong>で<strong>前方一致検索</strong>させる方法についての説明です。</span></p>



<p><span class="swl-marker mark_yellow"><strong>Select2</strong>はデフォルトでは<strong>部分一致検索</strong>されるのですが、それを前方一致に変更する方法になります。</span></p>



<p><span class="ymarker">コピペで簡単に対応出来るようにしましたので、ご参考にどうぞ！</span></p>



<h2 class="wp-block-heading">Select2はプルダウンを拡張するJavaScriptライブラリ</h2>



<p>簡単に<strong>Select2</strong>の説明をしておきます。<br>説明不要の方は次の見出しまで読み飛ばしてください。</p>



<p>Select2は、プルダウンを拡張するJavaScriptライブラリです。<br>このライブラリを入れると、プルダウンの項目に対して検索かけれるようになります。</p>



<p>導入方法は下記の記事がわかりやすいです。</p>



<figure class="wp-block-embed"><div class="wp-block-embed__wrapper">
https://qiita.com/mtanabe/items/c324a2d4a8de8d1595e4
</div></figure>



<p>ちなみに同じようなライブラリに<a rel="noopener noreferrer" href="https://harvesthq.github.io/chosen/" target="_blank">Chosen</a>というライブラリもあります。</p>



<h2 class="wp-block-heading">Select2の検索方式を前方一致に変更する方法</h2>



<p>本題のSelect2の検索方式を前方一致にする方法の説明です。</p>



<h3 class="wp-block-heading">サンプルソース（コピペ利用可能）</h3>



<p>まずソースコードを。</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-html" data-lang="HTML"><code>&lt;script&gt;
    $(function() {

        $(&quot;.select2&quot;).select2({
            matcher: function(params, data) {
                return matchStart(params, data);
            },
        });
    })

    function matchStart(params, data) {
        params.term = params.term || &#39;&#39;;
        if (data.text.toUpperCase().indexOf(params.term.toUpperCase()) == 0) {
            return data;
        }
        return false;
    }


&lt;/script&gt;

&lt;select class=&quot;select2&quot;&gt;
    &lt;option value=&quot;&quot;&gt;&lt;/option&gt;
    &lt;option value=&quot;スズキ&quot;&gt;スズキ&lt;/option&gt;
    &lt;option value=&quot;ヒラスズキ&quot;&gt;ヒラスズキ&lt;/option&gt;
    &lt;option value=&quot;タイリクスズキ&quot;&gt;タイリクスズキ&lt;/option&gt;
&lt;/select&gt;</code></pre></div>



<p>このソースコードをコピペして、optionを書き換えれば利用できます。</p>



<h3 class="wp-block-heading">サンプルソースの説明</h3>



<p>サンプルソースの説明です。</p>



<p><strong>Select2</strong>を指定したタグに適応するファンクションの<em><strong>select2()</strong></em>には、いろいろなオプションを指定できます。<br>その<span class="ymarker"><span class="swl-marker mark_yellow">オプションの中にmatcherがあり、matcherに自作のファンクションを指定するとマッチング処理をカスタマイズ出来ます。</span></span></p>



<p>今回は前方一致させたいので、<em><strong>matchStart</strong></em>という自作のファンクションに前方一致検索処理を実装して指定しています。</p>



<p>matcherのカスタマイズ方法は、本家でも説明されています。</p>



<figure class="wp-block-embed"><div class="wp-block-embed__wrapper">
https://select2.org/searching#customizing-how-results-are-matched
</div></figure>



<h2 class="wp-block-heading">まとめ：select2は自由にmatcherをカスタマイズ出来る</h2>



<p>この方法でSelect2のマッチング処理を自由にカスマイズできます。</p>



<p>この記事が参考なれば幸いです。</p>



<p>最後までお読み頂きありがとうございました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://dev-memo.net/select2_much_start/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【jQuery】Remodalの使い方とサンプル</title>
		<link>https://dev-memo.net/jquery_remodal/</link>
					<comments>https://dev-memo.net/jquery_remodal/#respond</comments>
		
		<dc:creator><![CDATA[キミヒラ]]></dc:creator>
		<pubDate>Mon, 07 Nov 2016 16:07:46 +0000</pubDate>
				<category><![CDATA[JavaScript]]></category>
		<guid isPermaLink="false">http://dev-memo.net/?p=175</guid>

					<description><![CDATA[<p><img src="https://dev-memo.net/wp-content/uploads/2016/09/soucecodeIMGL8986_TP_V-1024x682.jpg" class="webfeedsFeaturedVisual" /></p>jQueryのモーダルウインドウライブラリRemodalの使い方について解説します。 サンプルも掲載しているので、動作も合わせてご確認頂けます。 Remodalのダウンロード まずは、GitHubからソースファイルをダウ [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><img src="https://dev-memo.net/wp-content/uploads/2016/09/soucecodeIMGL8986_TP_V-1024x682.jpg" class="webfeedsFeaturedVisual" /></p>




<p>jQueryのモーダルウインドウライブラリ<strong>Remodal</strong>の使い方について解説します。</p>



<p>サンプルも掲載しているので、動作も合わせてご確認頂けます。</p>



<h2 class="wp-block-heading"><strong>Remodalの</strong>ダウンロード</h2>



<p>まずは、<a rel="noopener noreferrer" href="https://github.com/VodkaBears/Remodal/releases/tag/1.1.0" target="_blank">GitHub</a>からソースファイルをダウンロードしてcssとjsをサーバーに設置します。<br>必要なファイルは、解凍したフォルダの「dist」配下の３つファイルです。</p>



<p><a href="https://github.com/VodkaBears/Remodal/releases/tag/1.1.0">https://github.com/VodkaBears/Remodal/releases/tag/1.1.0</a></p>



<ul><li>remodal.css</li><li>remodal-default-theme.css</li><li>remodal.min.js</li></ul>



<p>これらを設置したら、モーダルウインドウを表示させるページでインクルードしてください。</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-plain"><code>&lt;link rel=&quot;stylesheet&quot; href=&quot;css/remodal.css&quot;&gt;
&lt;link rel=&quot;stylesheet&quot; href=&quot;css/remodal-default-theme.css&quot;&gt;
&lt;script src=&quot;js/remodal.min.js&quot;&gt;&lt;/script&gt;</code></pre></div>



<h2 class="wp-block-heading">モーダルウインドウのHTMLを追加</h2>



<p>モーダルウインドウとして表示させる、htmlを記載します。</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-html" data-lang="HTML"><code>// モーダルウインドウをオープンするボタン
&lt;button id=&quot;btn_chancel&quot;&gt;サンプル表示&lt;/button&gt;

// 表示されるモーダルウインドウ
&lt;div class=&quot;remodal&quot; data-remodal-id=&quot;modal&quot;&gt;
  &lt;button data-remodal-action=&quot;close&quot; class=&quot;remodal-close&quot;&gt;&lt;/button&gt;
  　　　　&lt;p&gt;サンプルです。&lt;/p&gt;
  &lt;button data-remodal-action=&quot;confirm&quot; class=&quot;remodal-confirm&quot;&gt;はい&lt;/button&gt;
  &lt;button data-remodal-action=&quot;cancel&quot; class=&quot;remodal-cancel&quot;&gt;閉じる&lt;/button&gt;
&lt;/div&gt;</code></pre></div>



<p>このソースをコピペして、必要に応じて文言を変更すればそのまま使えます。</p>



<h2 class="wp-block-heading">JavaScriptにモーダルウインドウのイベントを実装</h2>



<p>モーダルウインドウの「はい」ボタンを押した際の処理を実装します。</p>



<p><strong>$(document).on()</strong>で、モーダルウインドウのconfirmationのボタンが押された時の処理を実装しています。</p>



<p><strong>remodal().open()</strong>でモーダルウインドウを開きます。</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-js" data-lang="JavaScript"><code>&lt;script type=&quot;text/javascript&quot;&gt;
	$(function($){
            // 「はい」ボタンが押された後の処理
            $(document).on(&#39;confirmation&#39;, &#39;.remodal&#39;, function () {
		  alert(&#39;サンプル表示です。&#39;);
	    });
            // モーダルウインドウ表示
	    $(&quot;#btn_chancel&quot;).click(function(){
		$(&#39;[data-remodal-id=modal]&#39;).remodal().open();
	    });
	});
&lt;/script&gt;</code></pre></div>



<h2 class="wp-block-heading"><strong>Remodalの</strong>動作確認</h2>



<p>ここまで実装できたらOKです。<br>上記のソースで実装したボタンがこちらになります。</p>



<p>動作をお試し下さい。<br><button id="btn_chancel">サンプル表示</button></p>



<h2 class="wp-block-heading">まとめ</h2>



<p>簡単に実装できました。</p>



<p>この記事のサンプルをコピペして文言やイベントハンドラの内容を修正すると実装の手間も少しは省けるかなと思います。</p>



<p>少しでもこの記事が参考になれば幸いです。</p>



<p>最後までお読み頂きありがとうございました。</p>



<div class="remodal" data-remodal-id="modal">
<p>サンプルです。</p>
<p><button class="remodal-confirm" data-remodal-action="confirm">はい</button><br><button class="remodal-cancel" data-remodal-action="cancel">閉じる</button></p>
</div>
]]></content:encoded>
					
					<wfw:commentRss>https://dev-memo.net/jquery_remodal/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
