匹配两个数组 jquery 并在 value 和 data-attribute 之间的匹配中添加一个属性
Match two arrays with jquery and add an attribute to the matching between value and data-attribute
尝试使用 jquery 在选定选项的数组中查找数据值,当找到它时,我想添加一个属性,因为它们是一个选项标签,一个选定的属性。
看似简单,实则不然
我的代码如下:
function selected_element() {
var association = $("#association").children("option").map(function() {
return this.value;
}).get();
var ass_val = $("#association").children("option");
console.log(ass_val, association);
var ass_data = $("#association").children("option").attr('data-selected');
console.log(ass_data );
if (ass_val == ass_data) {
$("#association").children("option").val(ass_data).attr("selected","selected");
}
};
selected_element();
这只是一个例子:
我的第一行将映射我的数组,所以我 return 值 (1,2,3,4)。
我的第二行将 return 选项和值,但我不能用它们做很多事情。
我的 ass_data 实际上是我在这种情况下用来检索数据标签的数组(数据选择)。
我的最后一行代码只是我希望实现的示例:
if (ass_val == ass_data) {
$("#association").children("option").val(ass_data).attr("selected","selected");
}
};
不会用,只是为了展示我的想法。
假设值是唯一的,您可以只为下拉列表添加一个事件侦听器,然后 find()
:selected option
:
$("#association").on("change", function () {
var t = $(this),
val = t.val();
if (val) { // filter out empty/null values as possible matches
t.find(":selected").attr({<put attribute name here> : <attribute value here>});
// for example
// t.find(":selected").attr({"data-selected" : true});
}
});
尝试使用 jquery 在选定选项的数组中查找数据值,当找到它时,我想添加一个属性,因为它们是一个选项标签,一个选定的属性。
看似简单,实则不然
我的代码如下:
function selected_element() {
var association = $("#association").children("option").map(function() {
return this.value;
}).get();
var ass_val = $("#association").children("option");
console.log(ass_val, association);
var ass_data = $("#association").children("option").attr('data-selected');
console.log(ass_data );
if (ass_val == ass_data) {
$("#association").children("option").val(ass_data).attr("selected","selected");
}
};
selected_element();
这只是一个例子:
我的第一行将映射我的数组,所以我 return 值 (1,2,3,4)。
我的第二行将 return 选项和值,但我不能用它们做很多事情。
我的 ass_data 实际上是我在这种情况下用来检索数据标签的数组(数据选择)。
我的最后一行代码只是我希望实现的示例:
if (ass_val == ass_data) {
$("#association").children("option").val(ass_data).attr("selected","selected");
}
};
不会用,只是为了展示我的想法。
假设值是唯一的,您可以只为下拉列表添加一个事件侦听器,然后 find()
:selected option
:
$("#association").on("change", function () {
var t = $(this),
val = t.val();
if (val) { // filter out empty/null values as possible matches
t.find(":selected").attr({<put attribute name here> : <attribute value here>});
// for example
// t.find(":selected").attr({"data-selected" : true});
}
});