javascript函数不起作用

时间:2012-01-13 01:04:14

标签: javascript

我有一个动态生成这个的php页面;

...
<select name='sales_id'>
<option>
<option onclick='select_person(2)'>name1
<option onclick='select_person(3)'>name2
<option onclick='select_person(4)'>name3
</select>
<h2 style='text-align:center;font-size:120%;'>Planned Activities</h2>
<table  width='100%' border='1' cellspacing='0' cellpadding='3'>
<th>Week Opened</th><th>Week Closed</th><th>Company<br>
<select name='text'>
<option>
<option onclick='filter_company(comp1)'>comp1
<option onclick='filter_company(comp2)'>comp2
<option onclick='filter_company(comp3)'>comp3
<option onclick='filter_company(comp4)'>comp4
<option onclick='filter_company(comp5)'>comp5
</select>
...

在js文件中我有;

function select_person(userid) {
    var link="welcome.php?sales_id="+userid;
    document.location.href=link;
}

function filter_company(company) {
    var link="welcome.php?filter=company&text="+company;
    document.location.href=link;
}

select_person函数有效,但由于某种原因,filter_company函数没有。我不知所措!

3 个答案:

答案 0 :(得分:4)

您需要引用传递给filter_company的参数,以便将它们解释为字符串文字,而不是变量。

<option onclick='filter_company("comp1")'>comp1
<option onclick='filter_company("comp2")'>comp2
<option onclick='filter_company("comp3")'>comp3
<option onclick='filter_company("comp4")'>comp4
<option onclick='filter_company("comp5")'>comp5

答案 1 :(得分:4)

将comp1作为字符串传递,例如

onclick="filter_company('comp1')"

答案 2 :(得分:0)

您正在将数字传递给select_person函数。您认为您正在将文本'comp1'等传递给select_company函数,但实际上是在传递一个空变量。