2013-02-14 87 views
0

试图获得以下工作,但无法真正发现阻止选择发生的问题。基于文本选择的jQuery多重选择

<select multiple="multiple" class="inputbox" name="keywords[]" id="keywords"> 
<option value="4">4</option> 
<option value="11">Car</option> 
<option value="8" selected="selected">Cat</option> 
<option value="9">Elephant</option> 
<option value="6">Man</option> 
<option value="10">Mouse</option> 
<option value="1">One person</option> 
<option value="2">People</option> 
<option value="5">Woman</option> 
</select> 
<input type="text" class="inputbox" value="" id="keywords_new" name="keywords_new"> 
<a href="#" id="addkeyword">Add keyword</a> 

jQuery的

$(document).ready(function(){ 
    $('#addkeyword').click(function (event) { 
    event.preventDefault(); 
    var newkeyword = $('#keywords_new').val(); 
    var keyselect = $('#keywords'); 
    keyselect.each(function() { 
     alert(newkeyword); 
     if ($(this).text() == newkeyword){ 
       alert(newkeyword); 
      $(this).attr("selected", "selected").multiselect("refresh"); 
     } 
    }); 
}); 
}); 

测试上http://jsfiddle.net/SwmN6/58/

+0

alert()s仅用于测试 – McRui 2013-02-14 13:46:15

回答

1
var keyselect = $('#keywords') 

不应该吗?

var keyselect = $('#keywords option') 
+1

我不这么认为。他似乎想要选择键入的关键字。 – ByScripts 2013-02-14 13:50:38

+0

@ByScripts - 绝对!这是难题的一部分。谢谢!在jsfiddle上测试并运行 – McRui 2013-02-14 13:50:56