Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/229.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
选择标记php生成的代码需要javascript交互_Javascript_Php_Html - Fatal编程技术网

选择标记php生成的代码需要javascript交互

选择标记php生成的代码需要javascript交互,javascript,php,html,Javascript,Php,Html,目前,我正在使用一段javascript来复制一个链接以及用户在select标记中选择的选项 我在javascript中分配的变量仍然未定义。有没有办法让这段代码正常工作?我不希望在循环中使用ID属性,除非这可以应用到我的PHP脚本中(在该脚本中,我回显select标记,因为我正在显示数据库结果,每当显示结果时,它也将显示select标记)。此链接显示了我迄今为止所做的一个简单示例: 这是我的密码: <table> <tr> <th>N

目前,我正在使用一段javascript来复制一个链接以及用户在select标记中选择的选项

我在javascript中分配的变量仍然未定义。有没有办法让这段代码正常工作?我不希望在循环中使用ID属性,除非这可以应用到我的PHP脚本中(在该脚本中,我回显select标记,因为我正在显示数据库结果,每当显示结果时,它也将显示select标记)。此链接显示了我迄今为止所做的一个简单示例:

这是我的密码:

<table>
    <tr>
        <th>Name</th>
        <th>Gender</th>
    </tr>
    <tr>
        <td>Hank</td>
        <td>
            <select onChange="getValue()" class="ddlEval">
                <option>Select an option...</option>
                <option val="gender.php?=male">Male</option>
                <option val="gender.php?=female">Female</option>
            </select>
        </td>
    </tr>
    <tr>
        <td>Jeff</td>
        <td>
            <select onChange="getValue()" class="ddleval">
                <option>Select an option...</option>
                <option val="gender.php?=male">Male</option>
                <option val="gender.php?=female">Female</option>
            </select>
        </td>
    </tr>
</table>

<script>
    function getValue() {
    optVal = this.value;
    if(optVal != "Select an option...")
    {
    window.prompt("This is the link that's going to be coppied: ", "localhost:8080/" + optVal);
    }
}
</script>

名称
性别
汉克
选择一个选项。。。
男性
女性
杰夫
选择一个选项。。。
男性
女性
函数getValue(){
optVal=该值;
如果(optVal!=“选择一个选项…”)
{
prompt(“这是将被复制的链接:,“localhost:8080/”+optVal);
}
}

我想我需要用其他东西来代替“this”,但这只是为了表明我真正想要发生的事情。

考虑以下方法:

var optVal = selectTag.options[selectTag.selectedIndex].value;
在您的情况下():


函数getValue(s){
optVal=s.options[s.selectedIndex]。值;
如果(optVal!=“选择一个选项…”)
{
提示符(“这是:”,“localhost:8080/gender.php?=”+optVal);
}
}
更改onChange事件代码时:

        <select onChange="getValue(this)"...

这里有两个问题:

没有属性
val
它应该是:

然后您可以获得其值,如:

function getValue(e) {
    var optVal = e.value;
    if ('none' != optVal) {
        window.prompt("This is the link that's going to be coppied: ", "localhost:8080/" + optVal);
    }
}
演示


谢谢您的快速回复,我会尝试一下。没问题,只要告诉我是否适合您就行了。
<option value="none">Select an option …</option>
<option value="gender.php?=male">Male</option>
<select onchange="getValue(this);"></select>
function getValue(e) {
    var optVal = e.value;
    if ('none' != optVal) {
        window.prompt("This is the link that's going to be coppied: ", "localhost:8080/" + optVal);
    }
}