我在这里想要实现的是我有一个文本输入,当我输入一个字符串例如“HELP”时 - 我希望在列表中自动选择所有“帮助”的选项文本。
对不起我应该提到我使用jquery的
示例 - >
HTML:
<select id="select2" name="select2" multiple class="select2" style="width: 300px;">
<option value="1">ABC</option>
<option value="2">BPS</option>
<option value="3">BPS</option>
<option value="4">HELP</option>
<option value="5">HELP</option>
<option value="6">EX</option>
<option value="7">HELP</option>
</select>
<br /><br />
<input type="button" name="Button" id="selectspecify" value="Select String" />
<input size="50" name="selectstring" id="selectstring" value="" placeholder="Type in an option name">
jquery的:
$('#selectspecify').click(function() {
var selectstring = $('#selectstring').val();
$('#select2\\[\\] option:contains(' + selectstring + '))').select2('destroy').find('option').prop('selected', 'selected').end().select2()
});
$(".select2").select2();
有人可以帮帮我吗?
我已经制作了一个jsfiddle来展示我正在尝试的东西:http://jsfiddle.net/3ZhWu/2/ 但它显然还不起作用。
答案 0 :(得分:1)
试试这个:
$('#selectspecify').click(function() {
var selectstring = $('#selectstring').val();
var stringVal = [];
$('#select2').find('option').each(function(){
if($(this).is(':contains(' + selectstring + ')')){
stringVal.push($(this).val());
}
$('#select2').val(stringVal).trigger("change");
});
});
$(".select2").select2();
答案 1 :(得分:1)
$('#selectspecify').click(function() {
$('#select2').select2("val", $('#select2 option:contains(' + selectstring + ')')
.map(function(){
return $(this).val();
}).get());
});
答案 2 :(得分:0)
$( "option:contains('Help')" );
答案 3 :(得分:0)
试试这个......
$('#selectspecify').click(function() {
var selectstring = $('#selectstring').val().toLowerCase();
$('#select2 option').each(function() {
var inval = $(this).html().toLowerCase();
console.log(inval);
if(inval.indexOf(selectstring) != -1) {
$(this).prop('selected',true);
}
});
});
这个实际检查子字符串。所以,即使你给了&#39; h。它将选择选项。 如果你想要完全相同的字符串,请使用相等检查。