2010-11-20 13 views

Odpowiedz

104

Można użyć .indexOf() i .substr() tak:

var val = $("input").val(); 
var myString = val.substr(val.indexOf("?") + 1) 

You can test it out here. Jeśli jesteś pewny formatu i jest tylko jeden znak zapytania, można po prostu to zrobić:

var myString = $("input").val().split("?").pop(); 
+0

+1, pełniejsza odpowiedź :) –

+0

dzięki Nick .. pierwsza metoda zadziałała dobrze ... – Sullan

+6

Właściwie lastIndexOf() jest bezpieczniejsze, jeśli masz więcej niż jeden znak specjalny w swoim ciągu. Dobra odpowiedź i tak. Dzięki. +1 – frostymarvelous

2

Zakładając masz ukryte wejście w obiekcie jQuery $myHidden, następnie użyć JavaScript (nie jQuery) aby uzyskać część po ?:

var myVal = $myHidden.val(); 
var tmp = myVal.substr (myVal.indexOf ('?') + 1); // tmp now contains whatever is after ? 
1

Oto sposób:

<html> 
    <head> 
     <script src="jquery-1.4.2.min.js" type="text/javascript"></script> 
     <script type="text/javascript"> 
      $(document).ready(function(){ 
       var value = $('input[type="hidden"]')[0].value; 
       alert(value.split(/\?/)[1]); 
      }); 
     </script> 
    </head> 
    <body> 
     <input type="hidden" value="/TEST/Name?3" /> 
    </body> 
</html> 
Powiązane problemy