通过用户单击“添加”按钮克隆左侧类的div 。所以它是多重的。
我需要找到所有其他课程的当前值,除了触发此功能的那个[已经找到“changed_course”变量中的值]
<div id="ds_relation_main_block">
<div class="left">
<select name="course[]" class="input-block-level course">
<option value="55" selected="selected">BBA</option>
<option value="56">BSc</option>
<option value="57">BIT</option>
</select> <!-- end of select -->
</div> <!-- end of left -->
<div class="left">
<select name="course[]" class="input-block-level course">
<option value="55" selected="selected">BBA</option>
<option value="56">BSc</option>
<option value="57">BIT</option>
</select> <!-- end of select -->
</div> <!-- end of left -->
<div class="left">
<select name="course[]" class="input-block-level course">
<option value="55" selected="selected">BBA</option>
<option value="56">BSc</option>
<option value="57">BIT</option>
</select> <!-- end of select -->
</div> <!-- end of left -->
<script>
jQuery(function($) {
$('.course').change(function(evt) {
var changed_course = $(this).find('option:selected').val();
//console.log(changed_course);
//need to find all other course's current values
//except the one which triggered this function [ already found the value in //"changed_course" variable ]
});
});
答案 0 :(得分:4)
这应该可以解决问题:
var otherValues = $('.course').not(this).map(function() {
return this.value
}).get();
答案 1 :(得分:1)
下面的代码只是迭代其他课程,并将它们与当前课程进行比较。如果它不是触发错误的当前值,则将其添加到数组中。
jQuery(function($) {
$('.course').change(function(evt) {
var changed_course = $(this).find('option:selected').val();
var self = this;
var otherCourses = [];
$('.course').each(function()
{
if (this != self)
{
otherCourses.push($(this).val());
//Execute the code you want here, it will get all others individually except itself
}
});
//'otherCourses' has a list of the other courses
});
});
答案 2 :(得分:1)
您可以使用:not() selector选择与给定选择器不匹配的所有元素。
var not_changed_courses = $(this).find('option:not(:selected)');