javascript - 如何在列表框中添加关闭按钮

标签 javascript jquery html

我正在使用文本框将城市名称添加到列表框中,以及我想添加关闭按钮的城市名称,这样我就可以轻松地从列表框中删除城市名称。
下图是为了更好地理解 enter image description here

HTML

<asp:TextBox ID="txtcity" runat="Server"></asp:TextBox>
<asp:Button ID="btnAddcity" runat="server" Text="Add" />
<asp:ListBox ID="listBoxcity" runat="server"></asp:ListBox>
<span id="spcity"></span>

JQuery

$("#btnAddcity").click(function () {
  var txt = $("#txtcity").val();
  $('[id$=listBoxcity]').show();
  var alreadyExist = false;
  $('[id$=listBoxcity] option').each(function () {
  if ($(this).val() == txt) {
    $("#spcity").text('City alread exists');
     alreadyExist = true;
     return;
  }
});
if (!alreadyExist) {
  $('[id$=listBoxcity]').append($('<option></option>').attr('value', txt).text(txt));
 }
});

最佳答案

我删除了选项选择,因为您无法在选项上添加删除按钮。如果您想这样做,请看一下:

$("#btnAddcity").click(function () {
  var txt = $("#txtcity").val();
  $('[id$=listBoxcity]').show();
  var alreadyExist = false;
  $('[id$=listBoxcity] option').each(function () {
  if ($(this).val() == txt) {
    $("#spcity").text('City alread exists');
     alreadyExist = true;
     return;
  }
});
if (!alreadyExist) {
  $('[id$=listBoxcity]').append($('<span></span>').attr('value', txt).text(txt));
   $('[id$=listBoxcity]').append($('<a href="#" class="delete">x</a><br>'));
 }
});

$(document).on('click', 'a.delete', function(event){ 
    $(this).prev('span').remove();
    $(this).next('br').remove();
    $(this).remove();
});
a.delete {
    margin-left: 10px;
    width: 20px;
    height: 20px;
    background: #82854C;
    border-radius: 100%;
    text-align: center;
    display: inline-block;
    color: #fff;
    vertical-align: middle;
    text-decoration: none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.2/jquery.min.js"></script>
<table>
<tr>
  <td><input id='txtcity' type="text" /></td>
  <td><input id='btnAddcity' type='button' value='Add' /></td>
</tr>
</table>
<!-- <select id='listBoxcity' multiple="multiple" style='width:300px; height:100px;'>

</select> -->
<div id='listBoxcity' multiple="multiple" style='width:300px; height:100px;'>
  
</div>
  <span id='spcity'></span>

关于javascript - 如何在列表框中添加关闭按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37832987/

相关文章:

c# - 有时可以获取文本但有时显示 "Unable to find element with selector"

Javascript - 获取链接点击时间

javascript - 按钮上的文字颜色会发生变化,但并非每次都如此

javascript - 为什么我的 JQuery .ajax 请求不是并行进行的?

javascript - Safari 中的 .click() 事件与实际点击不同

javascript - Knex 交易 promise 警告

javascript - 使用 JavaScript 预加载的淡入淡出图像

javascript - 如何使用 Highchartsng 动态添加新的 Highchart

javascript - 将 _this 传递给 ajax 调用

html - 在悬停时将过渡应用于 div 中的跨度