如何在动态中删除选定的下拉值,用户可以使用 Java 脚本选择或取消选择 HTML
How to remove selected drop down value in dynamically user can select or unselect HTML using Java script?
所选的下拉值已更改。我需要 dto ynamly 选择和取消选择下拉列表。此外,整个值中未选择的 vaules 仅在其他下拉列表中出现。示例代码: $(document).ready(function () {
var hideOptions = function () {
var $select = $('select');
$select.find('option').show();
$select.each(function () {
var $this = $(this);
var value = $this.val();
var $options = $this.parents('table').find('select').not(this).find('option');
var $option = $options.filter('[value="' + value + '"]');
if (value) {
$option.hide();
}
});
}
hideOptions();
$('select').on('change', function () {
hideOptions();
});
});
<table style="width:40%" class="requiredField">
<tbody>
<tr>
<th>Header</th>
<th>Mapping</th>
</tr>
<tr>
<td>dropdownA</td>
<td>
<select name="email">
<option value="">Select</option>
<option value="Email_Address">Email_Address</option>
<option value="Salutation">Salutation</option>
<option value="First_Name">First_Name</option>
<option value="Last_Name">Last_Name</option>
<option value="Gender">Gender</option>
<option value="Company" selected="selected">Company</option>
</select>
</td>
</tr>
<tr>
<td>dropdownB</td>
<td>
<select name="Salutation">
<option value="">Select</option>
<option value="Email_Address">Email_Address</option>
<option value="Salutation">Salutation</option>
<option value="First_Name">First_Name</option>
<option value="Last_Name">Last_Name</option>
<option value="Gender">Gender</option>
<option value="Company">Company</option>
</select>
</td>
</tr>
<tr>
<td>dropdownC</td>
<td>
<select name="First_Name">
<option value="">Select</option>
<option value="Email_Address">Email_Address</option>
<option value="Salutation">Salutation</option>
<option value="First_Name">First_Name</option>
<option value="Last_Name" selected="selected">Last_Name</option>
<option value="Gender">Gender</option>
<option value="Company">Company</option>
</select>
</td>
</tr>
<tr>
<td>dropdownD</td>
<td>
<select name="Last_Name">
<option value="">Select</option>
<option value="Email_Address">Email_Address</option>
<option value="Salutation">Salutation</option>
<option value="First_Name">First_Name</option>
<option value="Last_Name">Last_Name</option>
<option value="Gender">Gender</option>
<option value="Company">Company</option>
</select>
</td>
</tr>
<tr>
<td>dropdownE</td>
<td>
<select name="Gender">
<option value="">Select</option>
<option value="Email_Address">Email_Address</option>
<option value="Salutation">Salutation</option>
<option value="First_Name">First_Name</option>
<option value="Last_Name">Last_Name</option>
<option value="Gender">Gender</option>
<option value="Company">Company</option>
</select>
</td>
</tr>
<tr>
<td>dropdownF</td>
<td>
<select name="Gender">
<option value="">Select</option>
<option value="Email_Address">Email_Address</option>
<option value="Salutation">Salutation</option>
<option value="First_Name">First_Name</option>
<option value="Last_Name">Last_Name</option>
<option value="Gender">Gender</option>
<option value="Company">Company</option>
</select>
</td>
</tr>
</tbody>
</table>
在以下步骤下执行此操作后,所选下拉值已更改:
- 从
dropdownA
-> 公司Email_Address中选择 - 从
dropdownB
->公司中选择
现在我们可以看到dropdownA
值发生了变化。但我在dropdownA
选择了Email_Address
.
请纠正我错的地方。下面是一个演示:http://jsfiddle.net/ramalingam07/q8fcrxy9/
在你的代码中:
$(document).ready(function () {
var hideOptions = function () {
var $select = $('select');
$select.find('option').show();
$select.each(function () {
var $this = $(this);
var value = $this.val();
var $options = $this.parents('table').find('select').not(this).find('option');
var $option = $options.filter('[value="' + value + '"]');
if (value) {
$option.hide();
$option.each(function () {
if (this.defaultSelected) {
$(this).parent('select').val('');
}
}, this);
}
});
}
hideOptions();
$('select').on('change', function () {
hideOptions();
});
});
加载后,它将首先从默认选定项中删除选项。这是通过在 $('select').change 之前隐藏选项来完成的。
但它与
$option.each(function () {
if (this.defaultSelected) {
$(this).parent('select').val('');
}
}, this);
此代码用于将默认选择值设置为 ''(如果其他人选择它)。由于预删除操作,这永远不会发生,您要么需要删除此部分,要么删除预删除操作,然后它就会起作用。
- 删除默认选定
- 删除预处理
第一个已经排除了其他选择中已经选择的选项,而第二个仍然是选项,但是当其他选择元素选择该值时,默认选项变为空,选择一个达到您打算执行的操作的选项。
相关文章:
- 我可以使此幻灯片图像自动播放吗?
- HTML/JavaScript拖动&Drop-是否可以使重影图像*NOT*看起来'冲洗掉'
- 可以使 jquery 点击事件在所有其他点击事件之后执行
- 是否有一个Javascript函数可以使代码在运行时延迟
- 有什么方法可以使页面无法刷新吗
- 使用chrome.downloads.download,是否可以使文件不弹出下载栏
- javascript是否有一个选项可以使句点与任何字符匹配,包括换行符
- 有一种方法可以使jslint在使用控制台时显示警告或错误
- 有没有任何方法可以使<选择>转到url
- 有没有任何方法可以使这个名称生成循环运行最短的秒数
- JSXGraph 中有什么方法可以使图像不透明
- 有没有一种方法可以使Iframe根据需要进行扩展
- 是否可以使find()和findOne()方法只返回模式字段
- Javascript.创建类似数组的对象.是否可以使 .length 自动增量
- 是否可以使多个引导弹出窗口更加干燥
- 是否可以使控制器返回模式窗口的数据?MVC5 ASP.NET
- Jquery脚本是否可以使更小或更高效
- 有哪些方法可以使客户端更难操作 DOM
- 我们可以使数据列表自动完成以搜索文本和值吗?
- 当用户在网页上选择一大块文本时,是否有一种方法可以使该文本保持高亮显示,即使用户在该页面的其他地方单击也是如此