克隆,删除列表项,但防止删除第一个,如果它'
cloning & deleting list item but prevent deletion of first if it's the item
我有一个表单,它有一个US State下拉列表。
<ul class="stateSelector" id="stateSelector">
<li id="TemplateRow" class="state-dropdown-row">
<span class="ua-dropdown">
<select name="state[]" id="state" required data-parsley-error-message="* Please select a state">
<option value="">Select State</option>
<option value="AL">Alabama</option>
<option value="AK">Alaska</option>
<option value="AZ">Arizona</option>
<option value="AR">Arkansas</option>
<option value="CA">California</option>
<option value="CO">Colorado</option>
<option value="CT">Connecticut</option>
<option value="DE">Delaware</option>
<option value="DC">District of Columbia</option>
<option value="FL">Florida</option>
<option value="GA">Georgia</option>
<option value="HI">Hawaii</option>
<option value="ID">Idaho</option>
<option value="IL">Illinois</option>
<option value="IN">Indiana</option>
<option value="IA">Iowa</option>
<option value="KS">Kansas</option>
<option value="KY">Kentucky</option>
<option value="LA">Louisiana</option>
<option value="ME">Maine</option>
<option value="MD">Maryland</option>
<option value="MA">Massachusetts</option>
<option value="MI">Michigan</option>
<option value="MN">Minnesota</option>
<option value="MS">Mississippi</option>
<option value="MO">Missouri</option>
<option value="MT">Montana</option>
<option value="NE">Nebraska</option>
<option value="NV">Nevada</option>
<option value="NH">New Hampshire</option>
<option value="NJ">New Jersey</option>
<option value="NM">New Mexico</option>
<option value="NY">New York</option>
<option value="NC">North Carolina</option>
<option value="ND">North Dakota</option>
<option value="OH">Ohio</option>
<option value="OK">Oklahoma</option>
<option value="OR">Oregon</option>
<option value="PA">Pennsylvania</option>
<option value="RI">Rhode Island</option>
<option value="SC">South Carolina</option>
<option value="SD">South Dakota</option>
<option value="TN">Tennessee</option>
<option value="TX">Texas</option>
<option value="UT">Utah</option>
<option value="VT">Vermont</option>
<option value="VA">Virginia</option>
<option value="WA">Washington</option>
<option value="WV">West Virginia</option>
<option value="WI">Wisconsin</option>
<option value="WY">Wyoming</option>
</select>
</span>
<a href="#" name="DeleteBoxRow" class="DeleteBoxRow removeState state-btn">Remove State</a>
</li>
<li>
<div class="addState">
<a href="#" id="AddAttr" name="AddAttr" class="clone state-btn">Add another State</a>
</div>
</li>
https://jsfiddle.net/stevieg_83/86f7ba9m/用户可以添加多个状态。我在添加几个状态时遇到了一些麻烦,允许第一个状态被删除,第二个状态变成第一状态,等等。
我正在寻找它的行为像https://www.google.co.uk/flights/#search;iti=LHR,LGW,LCY,STN,LTN,QQS__2016-07-21;tt=m
我如何克隆并允许删除第一项,只要有一个以上的项目?
你可以计算是否有多个元素:
$('#stateSelector').delegate('.DeleteBoxRow', 'click', function() {
if ($('#stateSelector li').length > 2) {
$(this).closest('li').remove();
} else {
return false;
}
});
更新小提琴
<子>编辑:子>
经过测试,我看到如果你删除了第一个选择,那么你就不能创建一个新的,这是因为你是基于它的id
克隆元素,而不是你可以克隆第一个元素:
var newRow = $('#stateSelector li').first().clone(true).removeAttr('id');
更新小提琴
相关文章:
- RegEx删除空属性?例如,如果(class=“”||class=“”)移除;否则就下课
- 如何检查元素的内容是否为空,如果为空,请在jquery中删除该元素
- 如果30秒未单击,请应用CSS一次,将其删除,然后重新迭代
- JavaScript-如果以前不存在文本,如何从文本区域删除新行
- 如果另一个属性相同,请删除该属性
- Wordpress TinyMCE在从文本切换到视觉时,如果锚标记包裹块元素,则会删除锚标记
- 如果用户选择离开网页,如何删除记录
- 如果screen.height低于460px,请删除一个类
- 如果今天是会计年度的最后一天,请从下拉菜单中删除当前年份
- 我想限制用户在jquery中输入文本后面的空格,如果它在文本后面,我会删除空格
- 使用jquery如何自动删除下拉列表中的第一个空白选项(如果它依赖于另一个选项)
- 仅JavaScript-删除某些类(如果存在)
- javascript页面加载检查是否存在具有特定类的span(在<tr>下),如果不存在,则删除整个<
- 从数组中删除值,用新的数组总数更新html或'$'如果没有总计
- 如果存在Javascript,请删除多个类中的一个
- 如果el包含此文本,请从中删除此字符串
- 在更改时,如果没有使用jquery更改,也可以删除对select元素的关注
- 如果他们不这样做,就从我的数组中删除东西't没有前缀
- JavaScript 属性删除如果为假,则不删除,如果为真循环
- 如何在单击时向数组添加值(Javascript)并将其删除(如果它已经在)