如果选择了特定选择选项,则获取输入值

时间:2013-01-07 15:08:34

标签: php javascript jquery html

我对php有一点了解,但这正是我想要做的。我有form select option。如果选择值为“example_5”的选项,我希望它获得<input>的值。这是用php还是jquery来完成输入的值?

例如:有人选择example_5。他们现在可以在<input>中写一些内容。并且将使用该值。

<script type="text/javascript">
    $(function(){
        if($('select').find('option:selected').val() == 'example_5'){

            use input??

            $_COOKIE['input_example'] = $example_1;

        }
        else{
            $_COOKIE['example_1'] = $example_1;
        }
    });
</script>


<?php
    $_COOKIE['example_1'] = $example_1;
?>

<form method="get" action="page2.php">
    <select name="example1">
        <option value="example_1">example_1</option>
        <option value="example_2">example_2</option>
        <option value="example_3">example_3</option>
        <option value="example_4">example_4</option>
        <option value="example_5">example_5</option>
    </select>
    <input name="input_example" type="text">
</form>

3 个答案:

答案 0 :(得分:1)

我这样做的方法是在onChange框上有一个select监听器,然后使用javascript使用document.getElementById获取输入框的值。你可以使用你想要的任何 jQuery 快捷方式,但方法也是一样的。

有关使用此技术的功能示例,请参阅this fiddle

在不相关的说明中,请务必关闭<input />标签(可能只是一个拼写错误:)

修改

根据评论:只需从cookie中设置值的输入值。

document.getElementById("input_example").value = getCookie("cookie_name");

在哪里可以编写一个简单的函数来获取cookie:

function getCookie(Name) {
  var search = Name + “=”
  if (document.cookie.length > 0) { // if there are any cookies
    offset = document.cookie.indexOf(search)
    if (offset != -1) { // if cookie exists
      offset += search.length
      // set index of beginning of value
      end = document.cookie.indexOf(”;”, offset)
      // set index of end of cookie value
      if (end == -1)
        end = document.cookie.length
      return unescape(document.cookie.substring(offset, end))
    }
  }
}

js cookie函数教程here

另见

JS Cookies

答案 1 :(得分:0)

首先,您要检查是否已提交来自。之后$_COOKIE['example_1'] = $example_1;将是这样的:

$_COOKIE['example_1'] = $_GET['example1'];

答案 2 :(得分:0)

根据您对blo0p3r的回答的评论。

在page2.php中,在发送任何空格或HTML之前,在脚本的最顶部添加以下内容:

<?php

if (isset($_GET['example1']) && $_GET['example1'] === "example_5")
  setcookie($_GET['input_example'], 'example_5', time()+3600, '/');