- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的表单中有两个选择字段。第一个是单选,另一个是多选。现在我想做的是根据单选中所选的选项,使用给定的数据选择多选中的选项。为此,我在单选更改时触发 ajax 请求:
$.ajax({
type : 'POST',
url : '/Controller/getMultipleSelectIds',
data : {
singleSelectId: singleSelectId
},
success : function(data) {
var multipleSelectIds= JSON.parse(data);
$("#multipleSelectFieldId option:selected").prop("selected", false);
$("#multipleSelectFieldId option").each(function()
{
if ($(this).val() in multipleSelectIds) {
$(this).attr('selected','selected');
}
});
$("#multipleSelectFieldId").trigger("chosen:updated");
}
});
假设我在数据库中有这样的单选 Id 值:
array(
"ssId1" => array(1,2,4,5),
"ssId2" => array(1,3,5)
)
现在我选择单选中的第一个条目(“ssId1”),一切正常,这意味着多选会像它应该的那样被填充(带有给定值 1,2,4 和 5 的选项) )。但是,当我再次将单选更改为另一个选项(“ssId2”)时,选择的选择仅显示选项 3(这是一个不是“ssId1”之一的值)。这一直持续到我在所选的多选中没有更多选项为止。
我已经检查过,隐藏的多选字段中的选项设置正确。所以现在的问题是:这是所选插件中的错误还是我做错了什么?
编辑试图找到问题并为此使源选择可见。似乎 removeAttr
或 .prop("selected", false)
甚至 .attr('selected','selected') 有问题。当我在单选的两个选项之间切换时,仅标记了选项 3(蓝色背景),但所有 3 个选项在 html 代码中都具有 selected 属性。当我尝试通过 IE 11 中的 js/jquery 选择多选(必填)字段中的所有选项并提交表单时,我遇到了类似的问题 IE 表示没有选择任何选项。我做错了什么?
最佳答案
只需在所有句子中使用 prop()
方法,该方法可与 selected
等动态属性一起使用
看到你的 fiddle 修改没有问题:
https://jsfiddle.net/0aaxk2hz/3/
$(this).prop('selected', true); // add it
$(this).prop('selected', false); // remove it
关于jquery - removeAttr ("selected") 和 .attr ('selected' ,'selected' ) 无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38264770/
我正在尝试在加载页面以覆盖内联 css 时实现 removeAttr。它部分有效,但并非适用于所有情况。 这是一个演示问题的 JSfiddle https://jsfiddle.net/argilmo
情况 我正在开发一个有多个选项卡的程序。但是,用户无法转到另一个选项卡,除非他们保存并返回 ID。因此,在我的 document.ready 上,我有以下代码,应该从选项卡中删除选项卡属性。
我有下面这段代码: p { cursor: pointer; font-size: 1.2em; } .selected { color:red; }
我创建了一个 fiddle 来演示我的问题:http://jsfiddle.net/motocomdigital/QyhpX/5/ 概述 我正在使用 jQuery .animate 功能创建一个选项卡
我正在为我当前的项目使用 zepto.js,它具有与 jquery 相同的 removeAttr() 方法。 我正在将 margin-top 应用于一堆元素 – 工作正常。 var $apply =
我有一个固定的菜单贴在顶部。当我从顶部开始向下滚动页面 1px 时,我的固定菜单将改变样式。但是当我使网站响应并调整窗口大小时,最近添加的样式并没有消失(在第一次向下滚动并返回之后)。 希望这有点清楚
我已将removeAttrs设置为true,我想删除所有填充和颜色: { loader: 'svgo-loader', options: { plugins: [
我有多个 removeAttr() 有什么方法可以组合它们吗? 我有什么:(这有效) checkboxes.removeAttr("checked",'checked'); checkboxes.re
我有一个复选框列表,我希望人们能够单独勾选这些复选框,或者批量勾选/取消勾选以便于使用。 Category 批量勾选/取消勾选按钮的标记是: Tick All Un-Tick Al
获得了粘性 header 的以下代码: $(function () { var navOffset = $(".topnav").offset().top; $
我有这个网站:http://thc-cup.ucoz.com/为了使登录表单出现(通过按登录按钮),我必须删除默认隐藏且我无法控制的 div 样式。我使用了这段代码: $("#baseLogForm"
我正在使用 jquery-1.7.2.min.js 我遇到类型错误: $("#TextBox1").removeattr is not a function [Break On This Error]
我正在尝试从链接中删除标题属性并将其重新用于工具提示,这是给我带来麻烦的代码片段: $('.location').each(function() { var $this = $(this);
我有一个多选表单。 我正在通过 jQuery 执行以下操作来“取消选择”所有选项。 $('#select').find('option').attr('selected', false); 以编程方式
我想做的是当 $('input:radio[name="NeverWornRespbefore"]') 被选中时,我想从 radio 组 中删除所需的属性$('input:radio[name="ey
我正在努力使用 jquery 中的 removeAttr('class') 和 removeClass() 函数。 removeAttr('class') OR removeClass(); 我有三个
我有两个运行正常的 setTimeout 函数,但我的 removeAttr 函数没有触发。我不知道这是为什么。 编辑:实际目标是在鼠标进入时将 feGaussianBlur 的变量“stdDevia
我有一个使用 JQuery 和 JQuery UI 的网站。 对于某些链接,我不想使用 JQuery UI 主题的颜色,所以我使用自己的 css 进行了覆盖。 一切正常,直到我使用 $("#a_abo
这是我的 Cypress 代码: cy.get(`${sitestovisit.searchBoxFormID} > form`) .should('have.attr', 'target')
我想使用 Jquery 从类中删除文本对齐属性 例如: CSS .main{ text-align:left; padding:10px;} HTML。 使用 xyz id,如何删除 text
我是一名优秀的程序员,十分优秀!