php - php 中的 Jquery onchange 问题

标签 php jquery html mysql

实际上,标签的 onchange 需要更改并显示实际记录(如果更改 Men 意味着 mens 记录将打开(显示))我需要在选项值内传递变量将如何传递。

这是我的 Html 代码:

<select name="category" id ='category' onchange='gender(this)' style="background:transparent">
                  <option id ='gender' hidden="hidden">Gender</option>
                <?php foreach($mens as $row){?>
                  <option value="men">Boy's</option>
                  <option value="girl">Girl's</option>
                <?php }?>
              </select>

这里是我的 jquery 代码:

<script type="text/javascript">
    $(function () {
        $("#category").change(function () {
            var selectedText = $(this).find("option:selected").text();
            var selectedValue = $(this).val();
              $( "#list" ).submit();
            alert("Selected Text: " + selectedText + " Value: " + selectedValue);
        });
    });
</script>

这里是我的 Php 代码:

$men ="SELECT * FROM `tbl_master_property` where status=0";
    $men_result=$conn->query($men);
     $men_projects = array();
        while($row=mysqli_fetch_assoc($men_result)){ 
        $men_projects[] = $row;
        }
         $mens = $men_projects; 
         echo '<pre>'; print_r($mens);die; 

我打印我的 $mens 显示:

Array
(
    [0] => Array
        (
            [pg_id] => 1
            [name] => Sri Manikanta New Luxury Paying Guest For Men
            [gender] => 0
            [location_id] => 0

        )
    [1] => Array
        (
            [pg_id] => 2
            [name] => Srivari New Executive Paying Guest For Men
            [gender] => 0
            [location_id] => 0

        )
    [2] => Array
        (
            [pg_id] => 3
            [name] => Temple View New Executive Pg For Ladies
            [gender] => 1
            [location_id] => 0

        )
    [3] => Array
        (
            [pg_id] => 4
            [name] => Srinivasa Luxury Guest For Men
            [gender] => 1
            [location_id] => 0   
        )

最佳答案

我认为您正在尝试从 $mens 数组中获取要填充的选项:

<?php foreach($mens as $row){?>
    <option value="<?php echo $row['gender'] ?>"><?php echo $row['name'] ?></option>
<?php }?>

如果这不是你的意思,你可能需要澄清更多。


编辑 1:

如果要从中提取大量项目,则需要使用 ajax,但如果样本相对较小,则可以想象只使用数组进行提取。

演示: https://jsfiddle.net/z50m5hnz/ :

<select name="category" id ='category' style="background:transparent">
    <option id ='gender' hidden="hidden">Gender</option>
    <option value="men">Men's</option>
    <option value="girl">Ladies</option>
</select>

<select name="items" id="items">
<select>

<script type="text/javascript">
    var dropdown_items = <?php echo json_encode($mens) ?>;
    $(function () {
        $("#category").change(function () {
            var selectedText = $(this).find("option:selected").text();
            var selectedValue = $(this).val();
            var opts = [];
            $.each(dropdown_items,function(k,v){
                if(selectedValue == 'men' && v.gender == 0) {
                    opts.push('<option name="'+v.gender+'">'+v.name+'</option>');
                }
                else if(selectedValue == 'girl' && v.gender == 1) {
                    opts.push('<option name="'+v.gender+'">'+v.name+'</option>');
                }
            });

            $('#items').html(opts.join(''));
        });
    });
</script>

编辑 2:

这是我对你想要什么的最后猜测,从评论中我认为你可能想重新加载页面但发送值选择:

<script type="text/javascript">
    $(function () {
        $("#category").change(function () {
            var selectedValue = $(this).val();
            window.location =   '?select='+selectedValue;
        });
    });
</script>

关于php - php 中的 Jquery onchange 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48219386/

相关文章:

php - 如何限制和重定向PHP中的某些页面

php - 自动合成声音 - php 或类似的东西 - GD 声音库?

php - MySQL - 使用 OR 时如何知道哪个字段与结果匹配

javascript - 如何在服务器上为 jQuery/uploadify 获取文件创建日期?

jquery - 如何在页面加载时加载第二个动态下拉列表?

javascript - 在单独的 DIV 中显示 JQuery Ajax 响应的不同部分

javascript - 只更改 css 背景的一个属性

php - 发送多个图像 Telegram bot api

javascript - mapbox map 层控件与 javascript

html - 每行两个输入,在选择标签空格之后