隐藏选择下拉列表中的文件扩展名(html / css)

时间:2017-03-08 13:04:48

标签: javascript php jquery html css

我有一个选择下拉列表,它是用ovpn文件动态填充的,所以它显示了,例如,United Kingdom.ovpn

我想隐藏.ovpn文件扩展名,但我还没有能够使用下面的脚本,它似乎适用于常规HTML。

表单元素:

<select class="selectpicker1" name="ovpn-filename" id="ovpn-filename"></select>

我用来尝试隐藏文件扩展名(.ovpn)的脚本,它当前已附加到按钮上:

<button onclick="myFunction()">Hide Extension</button>

<script>
function myFunction()
{
var str=document.getElementById("ovpn-filename").innerHTML; 
var n=str.replace(".ovpn"," ");
document.getElementById("ovpn-filename").innerHTML=n;
}
</script>

3 个答案:

答案 0 :(得分:0)

var str = 'test.ovpn'; alert(str.slice(0, -5));

结果是&#34;测试&#34; 删除最后5个字符 尝试这个概念......改变就像你...

答案 1 :(得分:0)

试试这个

<button onclick="myFunction()">Hide Extension</button>

<script>
function myFunction()
{
var str=document.getElementById("ovpn-filename").innerHTML; 
var n=str.replace(/.ovpn/g," ");
document.getElementById("ovpn-filename").innerHTML=n;
}
</script>

问题是当你使用

var n=str.replace(".ovpn"," ");

它只会替换你第一次出现的.ovpn

答案 2 :(得分:0)

你可以用jquery实现它:

 <script>
    var optionString = '';  // declare a string to hold all options
    $("#ovpn-filename option").each(function()
    {
        var str=$(this).val(); 
        var n=str.replace(".ovpn"," ");      //remove .ovpn string        
        optionString +=  '<option>'+n+'</option>';  //add back to that option 
    });
    $('#ovpn-filename').html(optionString );  //assign all option html back to select
    </script>