繁体   English   中英

(按用户)将值添加到从数据库填充的下拉列表中

[英]Adding values (by user) to drop down list populated from db

我正在尝试创建一个“可编辑”的下拉列表。 我有一个从数据库中的“ city”表填充的下拉列表,它的工作原理很完美,但是现在我希望用户能够向列表中添加一个新值(如果该值不存在)(并且我想保存该值)值,因此下次出现在下拉列表中)。 有任何想法吗? 谢谢

        <select name="city"> 
    <?php 
    // connecting to DB
    $con=  mysqli_connect('localhost','root','1234','e-sage');
    // enable hebrew input
    mysqli_set_charset($con,'utf8');
    // read the city table from DB
    $sql = mysqli_query($con,"SELECT CityName FROM city");
    while ($row = mysqli_fetch_array($sql)){
    // creating temporary variable for each row
    $city1=$row["CityName"];
    //assigning a value to each option in dropdown list
    echo "<option value=\"$city1\"> $city1 </option>";
    }
    ?>
    </select>

您可以在下拉菜单中提供“其他”选择。 如果用户选择,则显示一个新文本框,您可以从中插入数据库。

使用数据列表标签

链接到w3School教程

然后尝试以下操作:让我们同意您已经将所有城市都排列好了吗?

<select name="city">
<?PHP
foreach($cities as $city)
{
echo '<option value="'.$city.'">'.$city.'</option>';
}
?>
</select>

<form method="post">
<label for="new_city">New city</label>
<input id="new_city" name="new_city" placeholder="Enter new city name" />
<input type="button" id="addCity" value="Insert city" />
</form>



  <script>
        $(document).on('click','#addCity',function()
                       {

                          var new_city=$("#new_city").val();
                          var e=0;
                           $("[name='city'] option").each(function(i,item)
                                                          {
                                                              var check_city=$(item).val();

                                                              if(check_city==new_city)
                                                              {
                                                                 e++;
                                                              }
                                                              else
                                                              {

                                                              }

                                                          });
                           if(e>0)
                           {
                               alert('The same');
                           }
                           else
                           {
                               /*Submit the form*/
alert('This city is fresh and new');

                           }


                       });
    </script>

因此,脚本将检查该值是否已分配给option。 如果不是,则允许提交表格。

请检查以下一项: http : //jsfiddle.net/n47N2/1/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM