←[1;34mblue←[1;m
选择器时,我遇到了JQuery或更好的问题。
我有一个示例表,我想要过滤我之前输入的特殊值。我从输入字段获取的值,将它们存储在变量中,拆分数据并创建一个JQuery对象。 好吧,然后我认为我的选择有问题,在代码部分标记。
each
<p>
<input id="testyear" size="4" type="text">
<input value="Werte" onclick="getvalue()" type="button">
</p>
<script>
function getvalue() {
var wert = $('#testyear').val();
$("#years").find("tr").hide();
var data = this.value.split(" ");
// create jQuery Object
var jQueryObject = $("#years").find("tr");
// i think here is my error, i want to display only the object which are equal or better stored in my variable “wert”.
$.each(data, function (){
//jQueryObject = jQueryObject.filter(wert);
jQueryObject == wert;
});
jQueryObject.show();
};
我希望,当我在inpt字段中输入1997时,将显示包含1997的整个tr。我知道这很简单,但我不知道,谢谢你的帮助。
答案 0 :(得分:1)
在最初隐藏所有内容后,在TR
上使用filter。
e.g。
getvalue = function() {
var wert = $('#testyear').val();
// create jQuery Object
$("#years tr").hide().filter(function() {
return ~~$("td", this).first().text() >= wert;
}).show();
};
JSFiddle: https://jsfiddle.net/TrueBlueAussie/h8Lejfac/
~~
稍微转换为整数提示filter
为您要保留的每件商品返回true
,然后为其他商品返回false onclick=
)。请改用jQuery事件处理程序。见下文:e.g。
$('#wert').click(function() {
var wert = $('#testyear').val();
// create jQuery Object
$("#years tr").hide().filter(function() {
return ~~$("td", this).first().text() >= wert;
}).show();
});
答案 1 :(得分:0)
我认为您的问题不在each()
方法(而非选择器)中。你的问题在这里:
var data = this.value.split(" ");
this
未定义(您不在对象范围内)。我想你需要这个:
var data = wert.split(" ");
-----------^^^^
您已在最后一行获得wert
的值。