我正在学习jQuery而且我一直坚持这个。
我想在输入值为200时隐藏button
,但也有其他输入。这个问题早先被问过,但在我的案例中我无法弄清楚。
$("document").ready(function() {
setTimeout(function() {
var test = $('.input-text').val();
if (test = 200) {
$('button').hide();
}
}, 10);
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="first">
<input class="input-text qty text" type="number" readonly="" value="200">
<button>
Hide me
</button>
</div>
<div class="second">
<input class="input-text qty text" type="number" readonly="" value="300">
<button>
Hide me
</button>
</div>
<div class="third">
<input class="input-text qty text" type="number" readonly="" value="400">
<button>
Hide me
</button>
</div>
&#13;
答案 0 :(得分:3)
尝试以下。
$("document").ready(function() {
setTimeout(function() {
$('.input-text').each(function() {
if (this.value == 200) {
$(this).next('button').hide();
}
});
}, 10);
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="first">
<input class="input-text qty text" type="number" readonly="" value="200">
<button>
Hide me
</button>
</div>
<div class="second">
<input class="input-text qty text" type="number" readonly="" value="300">
<button>
Hide me
</button>
</div>
<div class="third">
<input class="input-text qty text" type="number" readonly="" value="400">
<button>
Hide me
</button>
</div>
&#13;
答案 1 :(得分:2)
您的逻辑中存在一些问题。
$('.input-text + button').filter( function() {
return $(this).prev().val() == 200;
}).hide();
是不必要的setTimeout
会返回一个与int进行比较的字符串,这会产生一些不可靠的结果。val()
元素,您需要遍历DOM才能找到与button
相关的button
话虽如此,这应该适合你:
input
&#13;
$("document").ready(function() {
$('.input-text').each(function() {
if (parseInt($(this).val(), 10) == 200) {
$(this).next('button').hide();
};
});
});
&#13;
答案 2 :(得分:1)
你有很多问题。
var test = $('.input-text').val();
只检索第一个value
的{{1}}
.input-text
分配if (test = 200)
而不是评估(test = 200
)。
==
会隐藏页面上的每个按钮。
您可以过滤按钮,并返回之前输入值为200的按钮,然后隐藏它们:
$('button').hide();
答案 3 :(得分:0)
使用jQuery.nearest
<?php
if ($_SERVER['REQUEST_METHOD'] == 'GET') {
$id = $_GET['id'];
require('adminpanel/includes/application_top.php');
$sql = "SELECT * FROM drug_reviewpage WHERE fld_product_id='" . $id . "'";
$r = mysql_query($sql);
$res = mysql_fetch_array($r);
$result = array();
array_push($result, array(
"fld_review_message" => $res['fld_review_message'],
"fld_fullname" => $res['fld_fullname'],
"fld_rate" => $res['fld_rate'],
"fld_date" => $res['fld_date']
));
echo json_encode(array("result"=>$result));
mysql_close($conection);
}
?>
答案 4 :(得分:0)
$("document").ready(function() {
setTimeout(function() {
$('.input-text').each(function(){
var test = $(this).val();
if(test == 200) {
$('.input-text').next("button").hide();
}
});
},10);
});
您需要检查符合.input-text
条件的所有next()
的兄弟姐妹。
next()
根据条件(if
.val == 200
)选择所选元素的第一个兄弟。然后它让兄弟姐妹离开了。
此外,您应该使用.input-text
测试所有each()
元素。