更改URL并重新加载下拉值的更改,这是常见的标题

时间:2014-02-06 07:01:56

标签: javascript php jquery yii yii-components

我是yii的新手,我想更改网址并重新加载当前视图页面,更改管理员公共标题字段中的下拉值。 下拉是

echo $form->dropDownList($siteid, 'selectedsiteid', $data,$htmlOptions, array('class' => "form-control"));

目前的网址可能如下所示

1. http://localhost/zyntegra_commoditylifev2/admin/sitetag/viewTags/sid/6
2. http://localhost/zyntegra_commoditylifev2/admin/category/viewCategory/sid/ 3.http://localhost/zyntegra_commoditylifev2/admin/site/index


假设当前更改的下拉值为10,如果当前网址类似于(1),那么我需要像这样更改网址

http://localhost/zyntegra_commoditylifev2/admin/sitetag/viewTags/sid/10

如果当前网址如(2)那么,则为http://localhost/zyntegra_commoditylifev2/admin/category/viewCategory/sid/10 如果它像(3)那么就不需要重新加载了。

Plz有人帮我解决了这个问题。

先谢谢

2 个答案:

答案 0 :(得分:1)

试试吧,

var tagsUrl='http://localhost/zyntegra_commoditylifev2/admin/sitetag/viewTags/sid/';
var catUrl='http://localhost/zyntegra_commoditylifev2/admin/category/viewCategory/sid/';
$(function(){
    $('#your-select-id').on('change',function(){
       href=window.location.href;
       if(href.indexOf('viewTags') !== -1){
           window.location.href=tagsUrl+this.value;//append value of select element
       } else if(href.indexOf('viewCategory') !== -1){
           window.location.href=catUrl+this.value;//append value of select element
       }
    });
});

以上代码可以帮助您完成任务。

更新,只获取sid,然后尝试使用,

// use location.href in url to get current url
var url='http://localhost/zyntegra_commoditylifev2/admin/sitetag/viewTags/sid/110';
alert(url.split('sid/')[1]);//110 

正在更新 @salini回答,例如,

function reloadpage() {             
    var sid = $( '#Site_selectedsiteid' ).val( );
    var currentURL = window.location.pathname;
    var n=currentURL.indexOf("/sid");// use '/sid' only in indexOf to remove else part
    if(n!=-1) {
        var newurl = currentURL.substring(0,n); 
        window.location.href = newurl + '/sid/' + sid;
    }
}

答案 1 :(得分:1)

我已经解决了。这是我的iavascript代码

function reloadpage() {
     var sid = $('#Site_selectedsiteid').val();
     var currentURL = window.location.pathname;
     var n = currentURL.indexOf("/sid/");
     if (n != -1) {
         var newurl = currentURL.substring(0, n);
         window.location.href = newurl + '/sid/' + sid;
     } else {
         var n = currentURL.indexOf("/sid");
         if (n != -1) {
             var newurl = currentURL.substring(0, n);
             window.location.href = newurl + '/sid/' + sid;
         }
     }
}


它运作正常。感谢@Roshan和@kumar的亲切帮助