我当前正在为下拉选择框运行此代码。选择不同的选项时,会将一个类添加到div元素。到目前为止,所有这些代码都可以正常工作。问题是我希望它可以在单个页面上用于多个下拉选择器。 div mcga_具有多个倍数,它们会更改“ mcga_1,mcga_2等”。我尝试运行两次代码并更改元素名称,但是只有一个选择器可以工作,而另一个选择器则什么也不做。 ;
isinstance(key, set)
那没问题。它将类“ addThis”添加到每个“ mcga _ *” div。我尝试了以下方法,以使其在同一页面上也可以使用其他下拉菜单,但无济于事。
rv = set_contains_key(so, key);
if (rv < 0) {
if (!PySet_Check(key) || !PyErr_ExceptionMatches(PyExc_TypeError))
return -1;
PyErr_Clear();
tmpkey = make_new_set(&PyFrozenSet_Type, key);
if (tmpkey == NULL)
return -1;
rv = set_contains_key(so, tmpkey);
任何有助于清除此代码并使用多个下拉菜单的帮助都将非常有用。
干杯!
答案 0 :(得分:0)
首先,对更改事件使用相同的函数名称。您可以通过一种快速而肮脏的方式调用函数select_changed_2左右。
以一种更简洁的方式,我会为您选择的字段推荐数据属性,然后使用它们。
$(document).ready(function(){
$("select[name*='custom_fields']").change(function(){
select_changed( $(this).attr('data-change-it') );
});
});
function select_changed(change_IDs){
$("div[id*='"+ change_IDs +"']").each(function(){
$(this).removeClass('addThis');
});
$("select[data-change-it*='"+ change_IDs +"']").each(function(){
var selected = $(this).val();
$('#'+selected).addClass('addThis');
});
}
您的选择字段应如下所示:
<select name="custom_fields[mcgroup1]" data-change-it="mcga_"></select>
<select name="custom_fields[mcgroup2]" data-change-it="mcgb_"></select>