2012-12-21 10 views
5

Mam ten kod tutaj, że używa Struts2-jquery pluginJQuery Ajax dodanie skrótu w url

<h4>Choose A task</h4> 
    <ul> 
     <s:url value="views/ajaxvalidation.jsp" var="ajaxvalidation" > 
      <s:param name="menuId" value="1"/> 
     </s:url> 
     <li><sj:a targets="resultContent" href="%{ajaxvalidation}">Ajax Validation</sj:a></li> 
    </ul> 

Kiedy klikam jego zawartości URL jest zmieniający się coś takiego, nic się nie zmienia w adresie URL. nadal pozostaje taki sam, ale chcę, aby po kliknięciu łącza coś takiego się stało www.myapp.com/#ajaxvalidation. Kiedy uruchomić tag kod kotwica jest tłumaczona na coś takiego

<a id="anchor_1365013162" href="javascript:void(0)">Ajax Validation</a> 

z tym danym, w jaki sposób mogę dodać skrót w url?

+1

Podczas korzystania AJAX, adres URL nie powinien się zmienić, ponieważ nie jesteś ładuje nowy dokument. AJAX to przejrzysta komunikacja za kulisami. – Barmar

+0

@Barmar Jak mogę dodać skrót do adresu URL? Muszę przepisać adres URL (lub dodać do niego skrót), ale załadować wybraną zawartość za pomocą ajax, ponieważ mam odtwarzacz muzyczny, który jest ładowany – KyelJmD

+0

Czy szukasz czegoś w "document.location.hash = 'ajaxvalidation''? – Barmar

Odpowiedz

23

Oto przykład roboczych (bez uwzględnienia Struts2):

<html> 
<body> 
<a id="123" href="">Add Hash</a> 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script> 
<script> 
$(document).ready(function() { 
    $("a").click(function(e) { 
     window.location.hash = $(this).attr("id"); 
     e.preventDefault(); 
    }); 
}); 
</script> 
</body> 
</html> 
+0

Czy mogę mimo to dodać # id/somename/programowo? ale to działa – KyelJmD

+5

'window.location.hash = 'id/somename /'' – adeneo