【问题标题】:quick javascript question about a dropdown with onchange action关于带有 onchange 操作的下拉列表的快速 javascript 问题
【发布时间】:2011-05-22 21:58:50
【问题描述】:

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

谢谢。


更新

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

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

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

【问题讨论】:

    标签: php javascript select onchange


    【解决方案1】:

    这是一个例子:

    <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

    【讨论】:

      【解决方案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())"
      

      【讨论】:

      • 没有运气的人...使用这个:&lt;select name="unitSelectMe" id="unitSelectMe" style="width:125px;" onchange="document.location.href='{$ABS_MANAGER_URL}/managerEditUnit.php?unit_id=' this.options[this.selectedIndex];"&gt; 基本上,on-change 没有做任何事情,没有任何反应。还尝试使用$(this).val()
      【解决方案3】:

      应该这样做:

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

      【讨论】:

      • 嗯,所以你在调用一个函数?在这种情况下,实际功能会是什么样子?对不起,我在 JS 方面很糟糕。
      【解决方案4】:

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

      this.value
      

      转移到你的 javascript 意味着 -->

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

      例如::

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-04-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-04-18
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多