Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/269.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用php动态设置select选项索引_Php_Javascript_Option - Fatal编程技术网

使用php动态设置select选项索引

使用php动态设置select选项索引,php,javascript,option,Php,Javascript,Option,我今天正在处理一个PHP表单,我需要一些关于&标记的帮助。我要做的是从$\u GET列表中获取一个值,并将其显示为索引。我的表单的工作方式是用户选择一个位置并点击更新按钮。当页面提交时,它通过$\u GET发送值,然后使用它从数据库中获取正确的信息。在查看上述信息后,他们可以选择删除它,这是我需要它的地方。问题是他们必须重新选择位置才能删除它。我需要该值以保持选中状态 例如,假设用户在选择框中单击NJ并点击更新。该页面将提交,并显示对餐厅的评论。我希望选择框保留NJ的值,直到用户更改它 我的快速

我今天正在处理一个PHP表单,我需要一些关于
&
标记的帮助。我要做的是从
$\u GET
列表中获取一个值,并将其显示为索引。我的表单的工作方式是用户选择一个位置并点击更新按钮。当页面提交时,它通过
$\u GET
发送值,然后使用它从数据库中获取正确的信息。在查看上述信息后,他们可以选择删除它,这是我需要它的地方。问题是他们必须重新选择位置才能删除它。我需要该值以保持选中状态

例如,假设用户在选择框中单击NJ并点击更新。该页面将提交,并显示对餐厅的评论。我希望选择框保留NJ的值,直到用户更改它

我的快速修复方法是在
列表的开头使用以下代码:

<?php
    if($_GET['chooseLocation'])
        echo "<option>$_GET['chooseLocation']</option>";
?>

我不知道你的全部代码,只知道那一小段。我通常是通过
selected
属性和我的项目的某种ID来执行此操作的。我猜您正在从数据库中读取信息,并且您在页面之间维护的信息就是该选项的值。我是这样做的:

<?php
for( $i = 0; $i < count($options); ++$i ) {
    echo "<option";
    if( $_GET['chooseLocation'] && $_GET['chooseLocation'] == $options[$i] ) {
        echo "selected";
    }
    echo ">{$options[$i]}</option>";
}
?>


或者,您可以假设现在几乎每个用户都有JavaScript。因此,您实际上可以通过在DOM就绪状态上“附加”所选的
属性,或者在页面已加载时(例如,使用jQuery)对JavaScript执行相同的操作。当然仍有少数人拒绝使用JavaScript,但我现在没有统计数据。

我不知道你的全部代码,只知道那一小段。我通常是通过
selected
属性和我的项目的某种ID来执行此操作的。我猜您正在从数据库中读取信息,并且您在页面之间维护的信息就是该选项的值。我是这样做的:

<?php
for( $i = 0; $i < count($options); ++$i ) {
    echo "<option";
    if( $_GET['chooseLocation'] && $_GET['chooseLocation'] == $options[$i] ) {
        echo "selected";
    }
    echo ">{$options[$i]}</option>";
}
?>


或者,您可以假设现在几乎每个用户都有JavaScript。因此,您实际上可以通过在DOM就绪状态上“附加”所选的
属性,或者在页面已加载时(例如,使用jQuery)对JavaScript执行相同的操作。当然仍有少数人拒绝使用JavaScript,但我目前没有统计数据。

您可以像现在一样正常提交表单,但附加一个函数:

<form obsubmit="return stay_freeze()" .. >
就这样

或捕获所选内容并执行以下操作:

function stay_freeze() {
  var catched_value = $('#your_select_id').val();
  $('#your_select_id').val(catched_value);
}

您可以像现在一样正常提交表单,但需要附加一个功能:

<form obsubmit="return stay_freeze()" .. >
就这样

或捕获所选内容并执行以下操作:

function stay_freeze() {
  var catched_value = $('#your_select_id').val();
  $('#your_select_id').val(catched_value);
}

我的印象是,
selected
已被弃用,但据w3schools称并非如此。谢谢,动态添加比我的方式容易得多。@MichaelGarrison和HTML5甚至不需要遵守冗余的
selected=“selected”
;)我的印象是,
selected
已被弃用,但据w3schools称并非如此。谢谢,动态添加比我的方式容易得多。@MichaelGarrison和HTML5甚至不需要遵守冗余的
selected=“selected”
;)另一个伟大的答案!有了这个,您如何获得实际值?您是否必须为每个
标记添加一个ID,或者它是否可以从URL中提取信息?@Micheal,否,select的ID就足够了,如果您使用此ID检索值,您将获得所选值。顺便说一句:您在提交表单之前和点击提交按钮之后调用js函数。所以如果你问:
$('select#id').val(),则您的手持设备中有所选选项的值!我喜欢这一点,并将它放在未来的参考方便,但我会用php的答案在这一个。我的客户告诉我,他们的很多用户都关闭了javascript,所以php就是解决这个问题的方法。非常感谢你!另一个伟大的答案!有了这个,您如何获得实际值?您是否必须为每个
标记添加一个ID,或者它是否可以从URL中提取信息?@Micheal,否,select的ID就足够了,如果您使用此ID检索值,您将获得所选值。顺便说一句:您在提交表单之前和点击提交按钮之后调用js函数。所以如果你问:
$('select#id').val(),则您的手持设备中有所选选项的值!我喜欢这一点,并将它放在未来的参考方便,但我会用php的答案在这一个。我的客户告诉我,他们的很多用户都关闭了javascript,所以php就是解决这个问题的方法。非常感谢你!