Foros del Web » Programando para Internet » Jquery »

Limitar selección con jQuery UI MultiSelect Widget

Estas en el tema de Limitar selección con jQuery UI MultiSelect Widget en el foro de Jquery en Foros del Web. Hola, Por azares del destino me encontré entrando en materia con JQuery y encontré como forma de partida para lo que necesito este script: jQuery ...
  #1 (permalink)  
Antiguo 31/03/2012, 05:25
Avatar de Threepwood  
Fecha de Ingreso: febrero-2002
Ubicación: Argentina
Mensajes: 906
Antigüedad: 22 años, 10 meses
Puntos: 4
Limitar selección con jQuery UI MultiSelect Widget

Hola,

Por azares del destino me encontré entrando en materia con JQuery y encontré como forma de partida para lo que necesito este script: jQuery UI MultiSelect Widget (http://www.erichynds.com/jquery/jque...select-widget/). Sirve para manejar datos múltiples de listas.

A mi me está sirviendo y ya estoy trabajando con mi base de datos e insertando datos. Lo que quisiera, y no tengo ni idea de por donde empezar, es hacer dos cosas:

1. El Widget permite la posibilidad de limitar la cantidad de items seleccionados con este código:

Código:
<script type="text/javascript">
$(function(){
	var warning = $(".message");
	
	$("select").multiselect({ 
	   

		header: "Puedes elegir hasta 8 jugadores",
        minWidth: "400",
        noneSelectedText: "Selecciona los jugadores de tu equipo",	
		click: function(e){
		
			if( $(this).multiselect("widget").find("input:checked").length > 8 ){
				warning.addClass("error").removeClass("success").html("No puedes elegir más de 8 jugadores!");
				return false;
			} else {
				warning.addClass("success").removeClass("error").html("Tienes que elegir al menos un jugador.");
			}
			
		}
	});
});
</script>
Ahora bien, yo quisiera que además de esta limitación hubiese otra que tiene que ver con la funcionalidad de mi web.

En la tabla de donde saco los datos que rellenan la lista:

Código PHP:
<form action="index.php" method="post">
      <select id="jugadores" class="multiselect" multiple="multiple" name="jugadores[]">
 
      <?
        
        
include("../../config.php");
        
        
mysql_query("SET NAMES utf8");
        
         
$sql "SELECT nombre, precio FROM jugadores order by precio DESC";
          
         
$query mysql_query($sql$link);
        
        
        while(
$fila mysql_fetch_assoc($query)) {
        
            
$nombre $fila['nombre'];
            
$precio $fila['precio'];
        
        echo 
"<option value=\"$nombre\">$nombre - AR$ $precio</option>";
        
        }
        
        
?>

      </select>
Tengo dos valores: Nombre y Precio. Lo que quisiera que el script de Jquery incorporara es la posibilidad de que, al llegar a X cifra, no se pudieran seleccionar más datos independientemente de si son menos de diez. Me explico: El tope puede ser 9,000 y si yo selecciono a tres jugadores que valen 3,000 cada uno el script no deja seleccionar nada más.

¿Es muy complejo de hacer? ¿Por donde podría empezar?

Todos los archivos del widget están para descargar en el enlace que puse arriba pero agradecería una orientación para este tema.

Gracias!
__________________
Equívocos sin importancia
  #2 (permalink)  
Antiguo 31/03/2012, 19:09
 
Fecha de Ingreso: enero-2008
Ubicación: Buenos Aires
Mensajes: 305
Antigüedad: 16 años, 11 meses
Puntos: 14
Respuesta: Limitar selección con jQuery UI MultiSelect Widget

En la documemtación de dicho plugin está lo siguiente:

Código Javascript:
Ver original
  1. $("#multiselect").bind("multiselectclick", function(event, ui){
  2.     /*
  3.     event: the original event object
  4.  
  5.     ui.value: value of the checkbox
  6.     ui.text: text of the checkbox
  7.     ui.checked: whether or not the input was checked
  8.         or unchecked (boolean)
  9.     */
  10. });

creo que podrías utilizar esto para que cuando selecciones un checkbox, hagas el calculo de todos los seleccionados para si el total es mayor a tu limitacion y en caso de que pase esto, no dejar que se tilde.

Etiquetas: funcion, html, input, javascript, limitar, multiselect, php, widgets
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:29.