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>

Rispondi quotando