我有超过25个复选框。到目前为止,当项目检查值是否在文本框内时,我有它。我要做的是...在第一个复选框被检查后,然后在下面的文本框中输入值...所有其他检查的东西需要在每个检查的值之前添加一个“AND”字符串。我的剧本如下......
<script>
$(document).ready(function(){
var lastChecked;
var $checks = $('input:checkbox').click(function(e) {
var numChecked = $checks.filter(':checked').length;
if (numChecked > 1 ) {
$(":checkbox:checked").each(function(){
var text = $('#text_query');
text.val(' AND' + text.val());
});
}
lastChecked = this;
});
});
</script>
我遇到的问题是所有的“And”都出现在所有产品的前面,我从一个文本框内检查的第一个产品中收到了额外的“AND”。实施例
AND AND AND Product_1 Product_2 Product_3
看起来应该是这样......
Product_1 AND Product_2 AND Product_3
所以我错过了什么。任何帮助表示赞赏。
答案 0 :(得分:1)
你的AND
追加有一些不正确的逻辑。看看下面。
$(document).ready(function() {
var lastChecked;
var $checks = $('input:checkbox').click(function(e) {
var numChecked = $checks.filter(':checked').length;
var text = $('#text_query');
text.val('');
$(":checkbox:checked").each(function() {
console.log($(this).val());
text.val($(this).val() + ' AND ' + text.val());
});
var str = text.val();
text.val(str.substring(0, str.length - 4));
lastChecked = this;
});
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="checkbox" value="1">
<input type="checkbox" value="2">
<input type="checkbox" value="3">
<input type="checkbox" value="4">
<input type="checkbox" value="5">
<input type="checkbox" value="6">
<input type="checkbox" value="7">
<input type="checkbox" value="8">
<input type="checkbox" value="9">
<br/>
<input type="text" id="text_query">
&#13;
答案 1 :(得分:0)
试试这个
var text = $('#text_query');
text.val(text.val('AND'));