【问题标题】:how to add check bo0x in selection box with multiple selection box如何在带有多个选择框的选择框中添加复选框
【发布时间】:2014-11-20 22:04:51
【问题描述】:

我现在使用了多选选择框,问题是它可以通过 ctrl+单击鼠标来选择。它工作正常,但对我来说不是那么好,看起来像简单的选择框,用户无法得到它的多重选择器不是单一的。所以这就是为什么我想要它带有复选框,所以用户很容易得到它是多重选择器。请给出适当的解决方案非常感谢...

<select class="selopt" id="selPreLoc" name="SelPreLoc[]" multiple="multiple" size=5>
    <option label="No Preference">No Preference</option>
    <?php
    //<option value=-1 selected>No Preference</option>
    while ($rec = mysql_fetch_array($GetCityRecord)) {
        if ($rec['City_Id'] == 30 || $rec['City_Id'] == 34 || $rec['City_Id'] == 35) {
            $others[$rec['City_Id']] = $rec['City'];
            continue;
        }
        ?>
        <option value="<?php $rec['City_Id']; ?>" <?php echo (isset($_POST['SelPreLoc']) && in_array($rec['City_Id'], $_POST['SelPreLoc'])) ? 'selected' : '' ?>>
        <?php echo $rec['City']; ?>
        </option>
            <?php
        }
        foreach ($others as $ind => $val) {
            ?>
        <option value="<?php echo $ind; ?>" <?php echo (isset($_POST['SelPreLoc']) && in_array($ind, $_POST['SelPreLoc'])) ? 'selected' : '' ?>>
        <?php echo $val; ?>
        </option>
            <?php }
        ?>
</select>
<label class="formtxt" valign="bottom">Use Ctrl + Click to multi-select.</label></td>

我使用 div 或其他方法获得了许多其他解决方案。

但我只希望它带有选择选项,如果是的话,.andi 如何在 mysql 中获取结果并且我希望在 mysql 中使用逗号分隔符获得该结果。

【问题讨论】:

    标签: php html mysql


    【解决方案1】:

    我的代码没有经过测试,因为我没有数据,但是根据你的逻辑,你可以这样使用它:

    $theOthers = array(30, 34, 35);
    while ($rec = mysql_fetch_array($GetCityRecord)) {
        if (in_array($rec['City_Id'], $theOthers)) {
            $others[$rec['City_Id']] = $rec['City'];
            continue;
        }
        $checked = '';
        if (isset($_POST['SelPreLoc']) && in_array($rec['City_Id'], $_POST['SelPreLoc'])) {
            $checked = 'checked="checked"';
        }
        ?>
        <input type="checkbox" name="city[]" value="<?php $rec['City_Id']; ?>" <?php echo $checked; ?> /> <?php echo $rec['City']; ?> <br />
    
        <?php
    }
    foreach ($others as $ind => $val) {
        $checked = '';
        if (isset($_POST['SelPreLoc']) && in_array($ind, $_POST['SelPreLoc'])) {
            $checked = 'checked="checked"';
        }
        ?>
        <input type="checkbox" name="city[]" value="<?php echo $ind; ?>" <?php echo $checked; ?> /> <?php echo $val; ?> <br />
    
        <?php
    }
    

    注意:我使用 $theOthers 数组稍微改进了您的代码,我认为它更具可读性。

    表单提交后,我们var_dump($_POST["city"]);

    【讨论】:

    • 您给定的代码仅提供带有复选框的城市列表我希望该列表进入选择框是否可行
    猜你喜欢
    • 1970-01-01
    • 2020-10-17
    • 2014-10-07
    • 1970-01-01
    • 1970-01-01
    • 2023-04-02
    • 2012-05-08
    • 1970-01-01
    • 2015-01-24
    相关资源
    最近更新 更多