简体   繁体   English

如何在JavaScript中启用href

[英]how to enable a href in javascript

I have a form, like this: 我有一个这样的表格:

<form action="" method="get">

    <select>
        <option value="0">-</option>
        <option value="1">P1</option>
        <option value="2">P2</option>
        <option value="3">P3</option>
    </select>

    <a href="page6.html" onclick="return false;">New Page</a>   

</form> 

and I want to enable the href only if the option value is not "-". 而且我只想在选项值不是“-”的情况下启用href。 Can you help me, please? 你能帮我吗?

Thanks, 谢谢,

What you want is to add an onChange event to the select, And then when the change function is called you can do a check to see whether you would like to change your page with this value, See code below for example 您想要的是将一个onChange事件添加到select中,然后在调用change函数时,您可以进行检查以查看是否要使用此值来更改页面,例如,请参见下面的代码

<form action="" method="get">
    <select onchange="getValue(this);">
        <option value="0">-</option>
        <option value="1">P1</option>
        <option value="2">P2</option>
        <option value="3">P3</option>
    </select>

</form>

<script>
    function onChange(sel){
        if(sel.value != "-"){
            document.location.href = newUrl;
        }

    }

</script>

It should look like this with the onChange event, +1 to david 看起来像这样的onChange事件,+ 1表示大卫

<form action="" method="get">
                            <select id="sel" onchange="myFunction()">
                                    <option value="0">-</option>
                                    <option value="1">P1</option>
                                    <option value="2">P2</option>
                                    <option value="3">P3</option>
                            </select>
                <a  id="link">New Page</a>

then myFunction should look like this 那么myFunction应该看起来像这样

if(document.getElementById("sel").value != "-"){
 document.getElementById("link").href = "your link here";
}
else{
 document.getElementById("link").href = "#";

} }

Here is working code 这是工作代码

$(function() {
  $("select").change(function() {
    if ($("select option:selected").val() != "0") {
      $("a").attr("onclick", "javascript:return true;")
    } else {
      $("a").attr("onclick", "javascript:return false;")
    }
  })
})

Here is JSFiddle code 这是JSFiddle 代码

Here is your code: 这是你的代码:

 checkSelect = function () { var mySelect = document.getElementById("mySelect"); return mySelect.options[mySelect.selectedIndex].text !== "-"; } 
 <form action="" method="get"> <select id="mySelect"> <option value="0">-</option> <option value="1">P1</option> <option value="2">P2</option> <option value="3">P3</option> </select> <a href="page6.html" onclick="return checkSelect();">New Page</a> </form> 

  function changeHref() { console.log(this.value) if (this.value == 0) { document.getElementById("anc").href=""; } else { document.getElementById("anc").href="page6.html"; } } var select = document.getElementById('sel'); select.addEventListener('change', changeHref, false); 
  <form action="" method="get"> <select id='sel'> <option value="0">-</option> <option value="1">P1</option> <option value="2">P2</option> <option value="3">P3</option> </select> <a id='anc' href="" onclick="return false;">New Page</a> </form> 

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM