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');
}
Können Sie Ihren HTML-Code anzeigen? –
Hinzugefügt in der PHP - Ich verwende das Silverstripe-Framework. – Craig