<?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>select2 &#8211; danisanchez.net</title>
	<atom:link href="https://danisanchez.net/tag/select2/feed/" rel="self" type="application/rss+xml" />
	<link>https://danisanchez.net</link>
	<description></description>
	<lastBuildDate>Fri, 22 Mar 2019 09:16:13 +0000</lastBuildDate>
	<language>es</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://danisanchez.net/wp-content/uploads/2026/07/cropped-favicon-32x32.png</url>
	<title>select2 &#8211; danisanchez.net</title>
	<link>https://danisanchez.net</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Crear un select con buscador integrado, gracias a select2</title>
		<link>https://danisanchez.net/crear-un-select-con-buscador-integrado-gracias-a-select2/</link>
					<comments>https://danisanchez.net/crear-un-select-con-buscador-integrado-gracias-a-select2/#comments</comments>
		
		<dc:creator><![CDATA[dani.sanchez]]></dc:creator>
		<pubDate>Fri, 22 Mar 2019 09:16:13 +0000</pubDate>
				<category><![CDATA[Publicaciones]]></category>
		<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[desarrollo web]]></category>
		<category><![CDATA[formularios]]></category>
		<category><![CDATA[programación web]]></category>
		<category><![CDATA[publicaciones]]></category>
		<category><![CDATA[select2]]></category>
		<category><![CDATA[tutoriales]]></category>
		<category><![CDATA[wordpress]]></category>
		<guid isPermaLink="false">https://www.gestionatuweb.net/?p=5183</guid>

					<description><![CDATA[Cuántas veces hemos generado formularios con campos selects interminables (por ejemplo un listado de clientes, de países, de productos&#8230;). Navegar a través de un select de varios cientos de elementos es algo tedioso que seguramente tu cliente o empresa te pedirá solucionar. Lo más óptimo sería ofrecer un campo de búsqueda dentro del propio select [&#8230;]]]></description>
										<content:encoded><![CDATA[
<iframe width="100%" height="315" src="https://www.youtube-nocookie.com/embed/ptZV3Xekmc0" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen=""></iframe>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="wp-block-paragraph">Cuántas veces hemos generado formularios con campos selects interminables (por ejemplo un listado de clientes, de países, de productos&#8230;). Navegar a través de un select de varios cientos de elementos es algo tedioso que seguramente tu cliente o empresa te pedirá solucionar.</p>



<p class="wp-block-paragraph">Lo más óptimo sería ofrecer un campo de búsqueda dentro del propio select aprovechando jQuery y algo de CSS, lo que nos tocaría unas cuantas horas de investigar y programar.</p>



<p class="wp-block-paragraph">Afortunadamente existe <a href="https://select2.org/" target="_blank" rel="noreferrer noopener" aria-label="Select2 (opens in a new tab)">Select2</a>, una librería pensada precisamente para esto, insertar un campo de búsqueda dentro del campo select que deseemos y que además sea sencillo de implementar.</p>



<h2 class="wp-block-heading">Instalación de select2</h2>



<p class="wp-block-paragraph">Para empezar vamos a llamar a los dos archivos (css y js) necesarios para ejecutar el script y que tendrán que llamarse dentro del &lt;head&gt;&lt;/head&gt; de nuestra página.<code><br></code></p>



<pre class="wp-block-code"><code>&lt;link href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.6-rc.0/css/select2.min.css" rel="stylesheet"/&gt;

&lt;script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.6-rc.0/js/select2.min.js"&gt;&lt;/script&gt;</code></pre>



<p class="wp-block-paragraph">Para WordPress tendremos que integrarlos a través de una función que podemos llamar en nuestro archivo de funciones (functions.php):</p>



<pre class="wp-block-code"><code>function buscador_en_select(){
    wp_enqueue_style('estilos-select', 'https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.6-rc.0/css/select2.min.css', array(),'1.0');
    wp_enqueue_script('jquery'); 
    wp_enqueue_script('script-select', 'https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.6-rc.0/js/select2.min.js', array('jquery'), '1.0');
    wp_enqueue_script('mi-script', get_template_directory_uri().'/js/mi-script.js', array('script-select'),'1.0');
}
add_action('wp_enqueue_scripts', 'buscador_en_select');</code></pre>



<p class="wp-block-paragraph">Como véis, hemos llamado también a jQuery, por si no está ya implementado en el tema y además hemos llamado a mi-script, que es un archivo que crearemos y subiremos al directorio del tema activo en la carpeta js (la crearemos si no existe).</p>



<h2 class="wp-block-heading">Mi Script</h2>



<p class="wp-block-paragraph">Para integrar select2 crearemos un pequeño script en un archivo al que llamaremos mi-script.js y que guardaremos en la ruta /wp-content/themes/tema-activo/js/mi-script.js.</p>



<p class="wp-block-paragraph">En él insertaremos el siguiente código:</p>



<pre class="wp-block-code"><code>jQuery(document).ready(function($){
    $(document).ready(function() {
        $('.mi-selector').select2();
    });
});</code></pre>



<p class="wp-block-paragraph">La línea $(&#8216;mi-selector&#8217;).select2() indica que a todos los select que especifiquemos con la clase &#8216;mi-selector&#8217;, se les aplicará la funcionalidad de integrar un buscador.</p>



<p class="wp-block-paragraph">Por ejemplo:</p>



<pre class="wp-block-code"><code>&lt;select class='mi-selector' name='marcas'&gt;
    &lt;option value=''&gt;Seleccionar una marca&lt;/option&gt;
    &lt;option value='audi'&gt;Audi&lt;/option&gt;
    &lt;option value='bmw'&gt;BMW&lt;/option&gt;
    &lt;option value='citroen'&gt;Citroen&lt;/option&gt;
    &lt;option value='fiat'&gt;Fiat&lt;/option&gt;
    &lt;option value='ford'&gt;Ford&lt;/option&gt;
    &lt;option value='honda'&gt;Honda&lt;/option&gt;
    &lt;option value='hyundai'&gt;Hyundai&lt;/option&gt;
    &lt;option value='kia'&gt;Kia&lt;/option&gt;
    &lt;option value='mazda'&gt;Mazda&lt;/option&gt;
&lt;/select&gt;</code></pre>



<p class="wp-block-paragraph">Se vería así:</p>



<div class="wp-block-image"><figure class="aligncenter size-full"><img fetchpriority="high" decoding="async" width="423" height="304" src="https://danisanchez.net/wp-content/uploads/2019/03/captura-select2-2-1-1.jpg" alt="" class="wp-image-5201" srcset="https://danisanchez.net/wp-content/uploads/2019/03/captura-select2-2-1-1.jpg 423w, https://danisanchez.net/wp-content/uploads/2019/03/captura-select2-2-1-1-300x216.jpg 300w" sizes="(max-width: 423px) 100vw, 423px" /></figure></div>



<p class="wp-block-paragraph">También funciona perfecto con <strong>campos de selección múltiple</strong>, solo tenemos que especificarlo en el select, nombrándolo con corchetes (array) y especificando:</p>



<pre class="wp-block-code"><code><pre class="wp-block-syntaxhighlighter-code">multiple="multiple"</pre></code></pre>



<pre class="wp-block-code"><code>&lt;select class='mi-selector' name='marcas&#91;]' multiple='multiple'&gt;</code></pre>



<p class="wp-block-paragraph">Quedando así:</p>



<div class="wp-block-image"><figure class="aligncenter size-full"><img decoding="async" width="355" height="403" src="https://danisanchez.net/wp-content/uploads/2019/03/select-multiple.jpg" alt="" class="wp-image-5200" srcset="https://danisanchez.net/wp-content/uploads/2019/03/select-multiple.jpg 355w, https://danisanchez.net/wp-content/uploads/2019/03/select-multiple-264x300.jpg 264w" sizes="(max-width: 355px) 100vw, 355px" /></figure></div>



<p class="wp-block-paragraph">Como véis, muy sencillo de implementar y muy práctico. Seguro que nos sacará de más de un apuro.</p>



<p class="wp-block-paragraph">Si te ha gustado, compártelo para que más gente pueda aprovecharlo. Nos vemos en el siguiente post <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f609.png" alt="😉" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
]]></content:encoded>
					
					<wfw:commentRss>https://danisanchez.net/crear-un-select-con-buscador-integrado-gracias-a-select2/feed/</wfw:commentRss>
			<slash:comments>13</slash:comments>
		
		
			</item>
	</channel>
</rss>
