使用jquery更改选择输入

时间:2013-04-17 20:19:54

标签: jquery html css

我一直试图通过使用jquery来改变选择输入。当用户点击搜索字段时,我希望更改选择字段。这是我用来做的代码:

$(document).ready(function() {

$('#cat-filter').change( function() {
    var filterText = $(this).val().toLowerCase();       

    if(filterText == 'all events'){
        $('a.events').css("display", "inline");
    } else if(filterText != ''){
        $('a.events:not([categories~="'+ filterText +'"])').css("display", "none");
        $('a.events[categories~="'+ filterText +'"]').css("display", "inline");
    } else {
        $('a.events').css("display", "inline"); 
    }
});
// --------------- THIS IS THE CODE ----------------
$('#search-input').focus( function() {
    $(this).val('');
    $('a.events').css("display", "inline");         
    $("select option:contains(1)").prop('selected', true);
});
//--------------------------------------------------

$('#search-input').blur( function() {
    $(this).val('Search Events');
});


$('#search-input').keyup(function (){
    textField = null;
    var textField = $(this).val().toLowerCase();
    if (textField != ""){
        $('a.events:not([categories*="'+textField+'"])').css("display", "none");
        $('a.events[categories*="'+textField+'"]').css("display", "inline");
    } else {
        $('a.events').css("display", "inline"); 
    }
});





});

然而它似乎不起作用。我检查了我的身份和价值观,但似乎没有任何效果。我正在使用jquery 1.9,我读过需要使用prop。请让我知道我做错了什么,谢谢!

以下是一个实例:http://www.lcbcchurch.com/new-site/events

1 个答案:

答案 0 :(得分:1)

问题不在于.prop,而是因为您的选项中没有任何选项在其文字中包含 1

如果您想定位第一个(,其值为1 ),请使用

$('select option[value="1"]').prop('selected', true);

由于您使用统一插件,因此您还必须发布更新

var element = $('select option[value="1"]').prop('selected', true);
$.uniform.update(element.closest('select'));