通过onchange事件将SELECT的值传递给Javascript函数?

12

我有一个包含多个文本框的搜索框HTML页面。

搜索框的第一部分是一个SELECT下拉列表,其中包含各种报告类型。每种报告类型都需要至少填写一个文本框以过滤查询结果。我的目标是隐藏当前报告类型不需要的文本框。

如何通过onchange事件将当前选定的valueSELECT传递给Javascript函数?

<select name="report_type" onchange="hide();">
<option value="full_history">Full History</option>
<option value="partial_history">Partial History</option>            
</select>

问题有误导性。你写了这是一个PHP问题,又谈到SELECT,这让我认为你在谈论对数据库的请求。 - Alex
@Alexander - 我放弃了对PHP的引用。 - John M
2个回答

18
<select name="report_type" onchange="hide(this.value);">
<option value="full_history">Full History</option>
<option value="partial_history">Partial History</option>            
</select>

执行此操作时,该函数具有“select”当前具有的任何值。


我知道这已经过时了,但也许有人会看到它 - 我正在尝试做类似的事情,但我想传递在选项标签中定义的值,而不是“值”本身。我该怎么做呢? --- 例如,在上面的代码中,我想传递“full_history”(如value =“full_history”),但this.value正在传递“Full History”。 - ZeekLTK
@ZeekLTK,听起来选项没有设置 value 属性,因此它们正在使用选项本身的文本。如果您将代码放在另一个问题中,那么可能会比我从评论中获得更多的见解。 - gabe3886
谢谢Gabe,可能是太晚了,我不小心漏掉或删除了等号,所以它只是value"full_history"(使用上面的例子)。一旦我修复了语法(变成value="full_history"),它就传递了我想要的。谢谢。 - ZeekLTK

0
function f1()
{
var obj1= document.getElementById("img");
var obj2= document.getElementById("s1");
obj1.src=obj2.value;
}

Select Image:
    <select id="s1" onchange="f1()">
        <option value="img1.jpg">img1.jpg</option>
        <option value="img2.jpg">img2.jpg</option>
        <option value="img3.jpg">img3.jpg</option>
        <option value="img4.jpg">img4.jpg</option>

    </select> <br><br>
    <img id='img' src="img1.jpg" height="500" width="500">

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接