2016-08-25 5 views
0

Ich habe eine Ajax-Abfrage, die Inhalt basierend auf einem Dropdown ändert. Die Abfrage funktioniert so, wie sie sollte, aber ich kann sie nicht dazu bringen, die URL mit der Auswahl zu aktualisieren. Wenn ich ein Element auswähle, wird der Inhalt so angezeigt, wie er sollte, aber keine URL-Änderung. Wenn ich die URL manuell eintrage, zeigt sie den Inhalt an, wie es sollte.Jquery - URL wird nicht aktualisiert, wenn die Box geändert wird

Fehle ich etwas, um die URL zu ändern?

$(document).ready(function(){ 
if($('.ID :selected').val()) {$('.ID').show();} else {$('.ID').hide();} ; 

$('.Name').change(function(e){ 
e.preventDefault();  
    var myval = $('.Name:selected').val(); 
    var baseurl = window.location.origin+window.location.pathname+"?ID="+myval; 
    $.ajax(baseurl) 
     .done(function (response) { 
      $('body').html(response); 
      $('.ID').show(); 
     }) 
     .fail (function (xhr) { 
      alert('Error: ' + xhr.responseText); 
      $('.ID').hide(); 
    });  
});  
}); 

BEARBEITEN - Ich verwende Silverstripe CMS. Ich habe eine SQL-Abfrage, die von der DB

$form = Form::create(
    $this,'MySearchForm', 
    FieldList::create(
    DropdownField::create('ID',' ') 
     ->setSource(TableName::get()->map('ID','MainName')) 
     ->setemptyString('--Select Level --') 
     ->addExtraClass('Name') 
     ), 

    FieldList::create()); 

    $form->setFormMethod('GET') 
    ->setFormAction($this->Link()."#programme") 
    ->disableSecurityToken() 
    ->loadDataFrom($this->request->getVars()); 

    if($request->isAjax()) { 
     $this->renderWith('Search'); 
    } 
+1

Können Sie Ihren HTML-Code anzeigen? –

+0

Hinzugefügt in der PHP - Ich verwende das Silverstripe-Framework. – Craig

Antwort

0

Das Problem in Ihrem Code ist auffüllt, während der Wert Syntax bekommen, ich glaube, es gibt keine Notwendigkeit, :selected mit den val() zu verwenden ist. Sie können $('.ID').val() statt $('.ID :selected').val()

Zusätzlich verwenden diese :selected verwenden Sie diese Syntax $('.ID option:selected')

Hoffnung Dies könnte hilfreich sein für Sie folgen sollten !!

Verwandte Themen