Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.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在jquery mobile中获取变量_Php_Variables_Jquery Mobile - Fatal编程技术网

通过PHP在jquery mobile中获取变量

通过PHP在jquery mobile中获取变量,php,variables,jquery-mobile,Php,Variables,Jquery Mobile,我在一个平板电脑网站上使用PHP获取变量时遇到了一个问题。我在主页上有一个搜索表单,可以将变量传递到列表页面。然后,我在一个“优化搜索”对话框中使用相同的搜索表单,该对话框应使用PHP根据传递的内容预先选择适当的值 问题是我似乎无法获取已传递的变量(使用PHP)。例如,我在搜索中有以下字段: <select name="propertyType" id="propertyType"> <option value="">Any Type</option

我在一个平板电脑网站上使用PHP获取变量时遇到了一个问题。我在主页上有一个搜索表单,可以将变量传递到列表页面。然后,我在一个“优化搜索”对话框中使用相同的搜索表单,该对话框应使用PHP根据传递的内容预先选择适当的值

问题是我似乎无法获取已传递的变量(使用PHP)。例如,我在搜索中有以下字段:

<select name="propertyType" id="propertyType">
        <option value="">Any Type</option>
        <option value="1"<?php if(isset($_GET['propertyType']) && $_GET['propertyType']=="1") { echo ' selected'; } ?>>Houses</option>
        <option value="2"<?php if(isset($_GET['propertyType']) && $_GET['propertyType']=="2") { echo ' selected'; } ?>>Flats/Apartments</option>
        <option value="3"<?php if(isset($_GET['propertyType']) && $_GET['propertyType']=="3") { echo ' selected'; } ?>>Bungalows</option>
        <option value="4"<?php if(isset($_GET['propertyType']) && $_GET['propertyType']=="4") { echo ' selected'; } ?>>Other</option>
    </select>

任何类型
>公寓/公寓
>其他
但是当我传递这些值时,我的代码不会拾取它们并回显相关的“selected”

平板电脑网站可以在这里找到:任何帮助都将不胜感激


谢谢。

我建议您使用以下语法:

<?php
    $values  = array(
        0 => 'Any Type',
        1 => 'Houses',
        2 => 'Flats/Apartments',
        3 => 'Bungalows',
        4 => 'Other'
    );
    $current = (int) $_GET['propertyType'];
?>

<select name="propertyType" id="propertyType">
<?php
    foreach ( $values as $key => $value ) {
        $selected = $key == $current ? 'selected="selected"' : '';
        echo "<option value='$key' $selected >$value</option>";
    }
?>
</select>


我建议您使用以下语法:

<?php
    $values  = array(
        0 => 'Any Type',
        1 => 'Houses',
        2 => 'Flats/Apartments',
        3 => 'Bungalows',
        4 => 'Other'
    );
    $current = (int) $_GET['propertyType'];
?>

<select name="propertyType" id="propertyType">
<?php
    foreach ( $values as $key => $value ) {
        $selected = $key == $current ? 'selected="selected"' : '';
        echo "<option value='$key' $selected >$value</option>";
    }
?>
</select>


我过去也遇到过类似的问题,并通过使用Javascript/jQuery获取查询字符串来解决

通过快速搜索,我发现如果您选择类似的路线,可能会对您有所帮助:


我过去也遇到过类似的问题,通过使用Javascript/jQuery获取查询字符串来解决

通过快速搜索,我发现如果您选择类似的路线,可能会对您有所帮助:


它是怎么捡起来的?我可以看到代码像@Alvin can一样工作。它怎么没有被提取出来?我可以看到代码的工作方式类似于@Alvin can@Alvin单击“列表搜索”,然后单击左上角的“属性搜索”按钮时,它不会选择对话框中显示的表单中的变量。任何想法都将不胜感激。感谢您的回复,您的建议似乎不起作用,尽管我害怕尝试
var\u dump($\u GET)
并查看输出。它是否返回
propertyType
值?嗨@hsz,它没有返回propertyType。它返回:array(0){}@abother,因此这意味着您没有在脚本中传递任何
propertyType
。尝试通过添加到URL来手动传递它:
?propertyType=2
@Alvin当您单击“列表搜索”,然后单击左上角的“属性搜索”按钮时,它不会在对话框中显示的表单中拾取变量。任何想法都将不胜感激。感谢您的回复,您的建议似乎不起作用,尽管我害怕尝试
var\u dump($\u GET)
并查看输出。它是否返回
propertyType
值?嗨@hsz,它没有返回propertyType。它返回:array(0){}@abother,因此这意味着您没有在脚本中传递任何
propertyType
。尝试通过添加到URL来手动传递它:
?propertyType=2