关于带有 OnChange 操作的下拉列表的快速 JavaScript 问题


quick javascript question about a dropdown with onchange action

使用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>

我想要的是将选项中的值加载到选择 onchange" 调用中,对于 GET 变量...... 我不知道如何使用javascript做到这一点...有人有什么想法吗?

谢谢。


更新

这并不容易,但是在您的一些评论之间,我得到了一个工作,谢谢大家:

<script type="text/javascript">
    function viewUnit(value) {
        var url = "managerEditUnit.php?unit_id="; 
        url += value;
        document.location.href=url;
    }
</script> 
下面是

一个示例:

<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

您可以通过在

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())"

这应该可以做到:

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

我可以建议您在从下拉列表中选择一个选项时使用以下方法来获取值 -->

this.value

迁移到你的JavaScript意味着-->

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

例如::

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