2

我正在建立一个多语言网站。

我有一个下拉列表,其中包含一组我涵盖的语言。

我想要脚本,当下拉列表更改时,将变量添加或替换到 url 并刷新页面。

我不想在会话或 cookie 中存储语言。

我的目标是搜索 egnines 索引我所有的多语言页面并重写 url,使我的 URL 看起来像http://www.index.php/EN/home,我将在后面介绍。

目前,我有一个 DropDown ,它汇总了变化的形式:

echo "<select name='lang'  onchange='this.form.submit()'>";     
$array = oci_parse($conn, "SELECT code, name FROM languages");
oci_execute($array);

while ($row  = oci_fetch_array($array))
{
    if ($lang == $row[0])
    {
        echo "<option value=".$row[0]." selected='selected'>".$row[0]."</option>";
    }
    else
    {
        echo '<option value='.$row[0].'>'.$row[0].'</option>';
    }
}            
echo '</select>';
4

2 回答 2

0
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<select name='lang' id="dropdown">
    <option value="EN">English</option>
    <option value="FR">French</option>
</select>


<script>

$('#dropdown').change(function()
{

    var langValue = $('#dropdown').val(); // i.e. langValue='EN' or langValue='FR'
    if(langValue)
    {
        window.location.href = 'http://www.index.php/' + langValue + '/home';
        return true;
    }
    return false;

});

function addLang(langValue)
{
    var url = window.location.href;
    var urlP = url.split('/');
    if(urlP.length <4)
    {
        url = url + langValue; // adding new lang
    }
    else
    {
        url[3] = langValue; // replace old lang
        url = url.join('/');
    }
    console.log(url);
}

</script>
于 2013-05-13T07:06:37.093 回答
0

尝试这个,

      $(document).ready(function(){
        $('#form').submit(function()
         {
          var lang=$("[name='lang']")val();
           window.location.href='http://www.index.php/' + lang+ '/home';
          }

       });
       });
于 2013-05-13T07:13:49.183 回答