关于使用onchange动作的下拉列表的快速javascript问题

时间:2011-05-22 21:58:50

标签: php javascript select onchange

使用smarty,请看下面的代码:

            <select name="unitSelect" class="uniForm" id="unitSelect" style="width:1250px;" onchange="location.href='{$ABS_MANAGER_URL}/managerEditUnit.php?unit_id={$set[i].id}'; return false">
                    <option value="0" selected="selected">Select Unit</option>
                {section name=i loop=$set}
                    <option value="{$set[i].id}" >{$set[i].unitName}</option>
                {/section}
            </select>

我想要的是,选项中的值加载到select onchange“”调用中,对于GET变量...我无法弄清楚如何使用javascript ...任何想法?

感谢。


更新

这并不容易,但是在你的一些评论之间我得到了一个,感谢所有人:

<script type="text/javascript">
    function viewUnit(value) {

        var url = "managerEditUnit.php?unit_id="; 
        url += value;
        document.location.href=url;
    }
</script> 

4 个答案:

答案 0 :(得分:2)

以下是一个例子:

<select onchange="alert(this.options[this.selectedIndex].value)">
    <option value="0">Option 1</option>
    <option value="1">Option 2</option>
    <option value="2">Option 3</option>
</select>

修改

抱歉重复。

如果您想将它与函数一起使用:

function yourfunction(value) {
    alert(value);
}

当然,将上述HTML中的alert更改为yourfunction

答案 1 :(得分:2)

您可以通过在onchange事件中执行此操作来获取select对象中的值:

onchange="alert(this.options[this.selectedIndex]"

由于您可以获得该值,因此您可以动态构建GET请求。有人喜欢这样:

onchange="document.location.href='somepage.php?id=' this.options[this.selectedIndex];"

jQuery让它更容易,你可以使用:

onchange="alert($(this).val())"

答案 2 :(得分:1)

这应该这样做:

<select onchange="yourfunction(this.options[this.selectedIndex].value);">    

答案 3 :(得分:-1)

我可以建议您在从下拉列表中选择一个选项时使用以下内容来获取值 - &gt;

this.value

转移到您的javascript意味着 - &gt;

onchange="JavaScript:userDefinedFunction(this.value);"

例如:

select name='state' onchange="JavaScript:userDefinedFunction(this.value);"