0

所有,我有以下选择框:

<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>

我的表格上有几个。当用户从下拉列表中选择一个值时,我想确保该值尚未在具有相同类的另一个选择中选择。

是否有捷径可寻?如果是这样,你能指出我正确的方向吗?

谢谢!

4

3 回答 3

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        
    }
 });
于 2012-07-05T22:00:55.200 回答
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...

});
于 2012-07-05T22:10:15.960 回答
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
 }
});
于 2012-07-05T22:02:07.130 回答