全部, 我有以下选择框:
<select class="event_selection" name="Event[]" id="Event_<?php echo $i; ?>" >
<option value="original">Select Event...</option>
<option value="1">One</option>
<option value="2">Two</option>
</select>
我的表格上有几个。当用户从下拉列表中选择一个值时,我想确保在另一个具有相同类别的选择中尚未选择该值。
有一种简单的方法吗?如果是这样,请指点我正确的方向?
谢谢!
答案 0 :(得分:1)
$("select.event_selection").change(function(){
if ($(this).val() == $("select.event_selection").not(this).val()) {
// match found
alert('You have already selected this value');
$(this).val('original'); //sets this back to original
}
});
答案 1 :(得分:1)
我已经做到了这一点,你不能两次选择任何值:
var $coll = $( '.event_selection' ).on( 'change', function () {
$coll.children().prop( 'disabled', false );
$coll.each(function () {
var val = this.value;
if ( val === 'original' ) return;
$coll.not( this ).children( '[value="' + val + '"]' ).prop( 'disabled', true );
});
});
现场演示: http://jsfiddle.net/QVbQ6/2/
var $coll = $( '.event_selection' );
$( '#timeline_table' ).on( 'change', '.event_selection', function () {
// my code
$coll.children().prop( 'disabled', false );
$coll.each(function () {
var val = this.value;
if ( val === 'original' ) return;
$coll.not( this ).children( '[value="' + val + '"]' ).prop( 'disabled', true );
});
// your other code...
});
答案 2 :(得分:0)
$(".event_selection").change(function(){
if($(".event_selection:selected[value=" + $(this).val() + "]").length > 1) {
// there are more than one select with this class and same value, do whatever you need
}
});