2016-08-25 22 views
0

ドロップダウンに基づいてコンテンツを変更するAjaxクエリがあります。クエリは正常に動作しますが、selectでURLを更新することはできません。アイテムを選択するとコンテンツは表示されますが、URLは変更されません。 URLを手動で入力すると、必要なコンテンツが表示されます。Jquery - 選択ボックスでURLが更新されない変更

URLを変更するには何か不足していますか?

$(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(); 
    });  
});  
}); 

EDIT - 私はSilverstripe CMSを使用しています。私は、値の構文を取得中に、私はval():selectedを使用する必要がないと信じて、問題はあなたのコードである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

あなたのhtmlを表示できますか? –

+0

PHPに追加 - Silverstripeフレームワークを使用しています。 – Craig

答えて

0

から移入するSQLクエリを持っています。あなたは、これはあなたのために参考になっかもしれませんあなたはこの構文$('.ID option:selected')

希望に従うべきである。この:selectedを使用するほか$('.ID').val()代わり$('.ID :selected').val()

を使用することができます!

関連する問題