Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2011
    Messaggi
    31

    Jquery: problema espressione regolare!

    Ciao ragazzi, il mio problema consiste nel fatto che non riesco a far funzionare il metodo .match() con parametro save (quello che estrapolo da <li>). Ho provato la mia espressione con una stringa normalissima e funziona... come mai non fa la stessa cosa con la stringa che ottengo con .html()?
    allego il codice.

    codice:
    <!doctype html>
    <html lang="en">
    <head>
    <meta charset="utf-8">
    <title>jQuery UI Droppable - Default functionality</title>
    <link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css">
    <script src="http://code.jquery.com/jquery-1.9.1.js"></script>
    <script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
    <link rel="stylesheet" href="/resources/demos/style.css">
    <style>
    #draggable { width: 100px; height: 100px; padding: 0.5em; float: left; margin: 10px 10px 10px 0; }
    .ui-widget-content { width: 100px; height: 100px; padding: 0.5em; float: left; margin: 10px 10px 10px 0; }
    #droppable { width: 800px; height: 500px; padding: 0.5em; float: left; margin: 10px; }
    </style>
    <script>
    
    $(function() {
    $( "#start" ).click(function() {
        var num=0;
        var save=new String("");
        var intRegex = "<strong>(.*?)</strong>";  
        var ciao="";
    //$("#droppable").find('li').css("color","#FF0000");
    $("#droppable").find('li').each(function(index) {
          num++;
          save=$(this).html();
        //var s="<li><p>pantaloni blue <strong>1023967</strong><p></li>";
        var s=save;
        alert(s);
          ciao=save.match(intRegex);
          alert(ciao);
      $("#vai").append("<input type=\"text\" value= \"" +$(this).text()+ "\" />")
    });
    alert("Ci sono:" + num + " elementi. il testo totale �:"  + save );
    });
    
    //**************************************************qui setto il tutto per il drag & drop ****************************************
    
    $( ".ui-widget-content" ).draggable({
    helper : "clone", //lo metto per clonare il draggable.
    cursor: "move",
    revert: function(is_valid_drop){// controllo se ho posizionato l'elemento sopra il drop... se si lo disabilito senno nn faccio nulla!!!!! 
                if(is_valid_drop) $(this).draggable('disable');
                return true;   
            }
    
    });
    
    
    
    
    $( "#droppable" ).droppable({
    drop: function( event, ui ) {//*************** la variabile ui è l'oggetto che VIENE trascinato nel drop.
    $( this ).find('p').append("<li>" +ui.draggable.text()+ "</li>"); // $(this) è invece l'oggetto del DOM selezionato,in questo caso #droppable'
    alert(ui.draggable.text());
    ui.draggable.find('p').css("color","#FF0007");
    
    }
    
    });
    });
    
    </script>
    </head>
    <body>
        <div  class="ui-widget-content" id="1">
    <p>pantaloni scuri <strong>10239455</strong></p>
    </div>
    <div  class="ui-widget-content" id="2">
    <p>pantaloni chiari <strong>10239676</strong></p>
    </div>
    <div  class="ui-widget-content" id="3">
    <p>pantaloni sporchi <strong>10239678</strong></p>
    </div>
    <div  class="ui-widget-content" id="4">
    <p>pantaloni blue <strong>1023967</strong></p>
    </div>
    <div  class="ui-widget-content" id="5">
    <p>pantaloni <strong>10239</strong></p>
    </div>
    <div id="draggable" class="ui-widget-content" id="6">
    <p>maglia blu <strong>1233434</strong></p>
    </div>
    <div id="droppable" class="ui-widget-header">
    <p>Drop here</p>
    </div>
    <button id="start">ciao</button>
    
    <form id="vai">
        
        <input  type="submit" value="ok">
    </form>
    </body>
    </html>

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2011
    Messaggi
    31
    Se puo essere d'aiuto ho risolto.... il .text() del #draggable non scrive il testo formattato con i tag... nonostante il browser lo faccia vedere a schermo... per tanto basta cambiare l'espressione regolare per tutti i numeri interi... cioè :
    codice:
     
    
    var intRegex = "-?[0-9]+";

    ciao a tutti!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.