2014-02-06 6 views
0

Я сделал динамические окна выбора на моей странице Wordpress, чтобы выбрать категории и подкатегории.Удалить определенную строку из url

Выходной адрес должен быть http://myurl.com/category/maincategory/subcategory , но форма дает http://myurl.com/category/maincategory/?xy=maincategory+subcategory.

Я думаю, что самым простым решением было бы, если скрипт jQuery удалит эту конкретную часть между «?» и «+» из прямого URL-адреса, но я не знаю, как это сделать.

Это будет общежитие, вот полный код. Некоторые из сценариев предназначены для динамической ширины окна выбора.

<form method="get" action="<?php bloginfo('url'); ?>"> 
<fieldset> 
I'd like to find a nice hostel in 
<select name="category_name" id="orszag" style="width: auto;"> 
<option value="hostels">any country</option> 
<?php 
// generate list of categories 
$categories = get_categories('hide_empty=1&style=none&parent=2'); 
foreach ($categories as $category) { 
    echo '<option value="', $category->slug, '">', $category->name, "</option>\n"; 
} 
?> 
</select> 
, 


<select class="calc_dropdown calclinkone" id="varos" name="varos" style="width: auto;"> 

<option value="hostels ">any city</option> 


<option value="hungary ">any city</option>   
     <?php 
// generate list of categories 
$categories = get_categories('child_of=3&hide_empty=0'); 
foreach ($categories as $category) { 
    echo '<option value="hungary ', $category->slug, '">', $category->name, "</option>\n"; 
} 
?> 





<option value="uk ">any city</option>   
     <?php 
// generate list of categories 
$categories = get_categories('child_of=6&hide_empty=0'); 
foreach ($categories as $category) { 
    echo '<option value="uk ', $category->slug, '">', $category->name, "</option>\n"; 
} 
?> 






<option value="slovakia ">any city</option>   
     <?php 
// generate list of categories 
$categories = get_categories('child_of=17&hide_empty=0'); 
foreach ($categories as $category) { 
    echo '<option value="slovakia ', $category->slug, '">', $category->name, "</option>\n"; 
} 
?> 




<option value="germany ">any city</option>   
     <?php 
// generate list of categories 
$categories = get_categories('child_of=4&hide_empty=0'); 
foreach ($categories as $category) { 
    echo '<option value="germany ', $category->slug, '">', $category->name, "</option>\n"; 
} 
?> 

</select> 





<br> 
for 
<select> 
<option value="">1</option> 
<option value="">2</option> 
<option value="">3</option> 
<option value="">4</option> 
<option value="">5</option> 
<option value="">6</option> 
</select> 
person for 
<select> 
<option value="">1</option> 
<option value="">2</option> 
<option value="">3</option> 
<option value="">4</option> 
<option value="">5</option> 
<option value="">6</option> 
</select> nights.<br> 
<button type="submit"><i class="fa fa-search"></i> Search</button> 
</fieldset> 
</form> 


<script> 

$("#orszag").change(function() { 
if($(this).data('options') == undefined){ 
    $(this).data('options',$('#varos option').clone()); 
    } 
var id = $(this).val(); 
var options = $(this).data('options').filter('[value*=' + id + ']'); 
$('#varos').html(options); 
}); 


$('select').change(function() { 
    var $opt = $(this).find("option:selected"); 
    var $span = $('<span>').addClass('tester').text($opt.text()); 

    $span.css({ 
     'font-family': $opt.css('font-family'), 
     'font-style': $opt.css('font-style'), 
     'font-weight': $opt.css('font-weight'), 
     'font-size': $opt.css('font-size') 
    }); 

    $('body').append($span); 
    // The 30px is for select open icon - it may vary a little per-browser 
    $(this).width($span.width() + 10); 
    $span.remove(); 
}); 

$('select').change(); 

</script> 

Спасибо!

+0

Не могли бы вы вставить код? – cschuff

+0

Вы уверены, что Wordpress не добавляет это по причине? Если нет, проанализируйте строку и удалите часть 'search'. – adeneo

ответ

0

заменить метод Использовать JQuery в

var mystring = "hellothis"; 
    var m = mystring.replace("this", "that"); 
    alert(m); 

будет производить "hellothat"

var myUrl = "http://myurl.com/category/maincategory/?xy=maincategory+subcategory" 
var newURL = myUrl.replace("?xy=maincategory+",""); 

должен дать вам то, что вы хотите

0

Вот я прямо сейчас. У меня есть этот

$(document).ready(function() { 
    if(window.location.href.indexOf("?") > -1) { 
     location.href=location.href.replace("?varos=germany+", ""); 
    } 
}); 

код работает хорошо, если я нахожусь в Германии. Теперь мне нужно изменить часть ?varos=germany+ на то, что определяет динамическую часть строки между ними? и + и удаляет его.

Смежные вопросы