我有一个捕获各种字符串的变量:
var values = $('#main option').text(); // This captures every #main option value and throws it all into one long string like: one/two/three/four/five...
我试图做一个if语句,说如果有人在输入字段中输入文本,并且它没有匹配从变量值中检索到的任何字符串值,那么就做任何事......所以
if($('.#main input').on('focusout', function(){
var values = $('#main option').text();
var inputValue = $('#main input').val();
if(inputValue == values){
//do something
}
});
不确定是否因为" var inputValue"是返回值而不是文本或什么。但是因为必须使用val()来拉回字符串值,所以我似乎无法将其与从" var values"返回的值集匹配,如:var test = values。分裂('&#39);没有拆分文本。
答案 0 :(得分:1)
您可以使用split('/')
创建数组,然后使用enteredText
将indexOf
变量与数组中的所有项进行比较。
每当对数组运行indexOf
并且没有数组项匹配时,返回的值为-1
。
<强>例如强>
var valuesArray = values.split('/');
if (valuesArray.indexOf(enteredText) === -1) {
[... CODE HERE...]
}
工作示例:
var values = 'red, orange, yellow, green, blue, indigo, violet'
var valuesArray = values.split(', ');
var enteredColors = ['blue','purple'];
for (var i = 0; i < 2; i++) {
var enteredText = enteredColors[i];
if (valuesArray.indexOf(enteredText) === -1) {
window.alert('Test ' + (i + 1) + ': The color ' + enteredText + ' IS NOT a color of the rainbow.');
}
else {
window.alert('Test ' + (i + 1) + ': The color ' + enteredText + ' IS a color of the rainbow.');
}
}
答案 1 :(得分:1)
我认为问题在于您如何获取有效字符串列表。如果你有一个数组,确定一个匹配是微不足道的:
Args:
x: Matrix of shape [n_samples, n_features...] or dictionary of many matrices
containing the input samples for fitting the model. Can be iterator that returns
arrays of features or dictionary of array of features. If set,
答案 2 :(得分:1)
您不一定需要先创建所有文本的列表。您还可以过滤与文本匹配的选项。 (你有可能想对这场比赛做点什么。这样就已经选好了)
var text= $(this).val(),
matches = $('#main option').filter(function(){return $(this).text() == text});
示例代码(为了测试,将事件更改为keyup。如果在输入中键入'aa','bb'或'cc',则应触发响应)
$('#main input').on('keyup', function(){ //used keyup instead of focusout for easier testing
var text= $(this).val(),
matches = $('#main option').filter(function(){return $(this).text() == text});
if(matches.length) {
console.log('Match on ' + matches.text()); //test console output
matches.prop('selected',true); //set select to the specific option
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id=main>
<select>
<option>aa</option>
<option>bb</option>
<option>cc</option>
</select>
<input/>
</div>