为什么函数不会输出到这个jQuery选择器中
Why won't function output into this jQuery selector?
我希望这是我做过的愚蠢的事情。我在底部附近得到了一个函数 unigref,它(我相信)输出一个字符串。但是,当我调用函数来构建 jQuery 选择器时,我无法让它正常工作。我知道其他一切都有效,因为当我使用静态字符串时,单选按钮被选中。
这是我的jsfiddle/9Edxx。请帮忙。
var checkCount = 0;
var maxChecks = 2;
$(document).ready(function() {
$("#test").click(function() {
alert($(':checked').length);
});
$(':checkbox[name=checkbox]').change(function() {
checkCount = $(':checkbox:checked').length;
if (checkCount >= maxChecks) {
$(':checkbox[name=checkbox]').not(':checked').attr('disabled', true);
$(":radio[value="+uniqref()+"]").prop('checked', true);
} else {
$(':checkbox[name=checkbox]:disabled').attr('disabled', false);
}
if (this.checked) {
$("td.label").append("<label>" + this.value + "</label>");
} else {
$("td.label").find(":contains('" + this.value + "')").remove();
}
});
$('#button').click(function() {
alert(uniqref());
});
function uniqref() {
return $("td.label").text().split('').sort().join('').replace(/'s/g, "");
}
});
更新:错别字是正确的,但问题仍然存在。
http://jsfiddle.net/9Edxx/
是的,这真的很愚蠢:这只是一个错字。
$(":radio[value="+unigref()+"]").prop('checked', true);
应该是
$(":radio[value="+uniqref()+"]").prop('checked', true);
使用小写Q
而不是G
.
另外,你在实际更新 td.label 的值之前调用 uniqref()。
应按以下顺序排列:
if (this.checked) {
// ...
}
if (checkCount >= maxChecks) {
// ...
}
http://jsfiddle.net/7mvmT/7/
http://jsfiddle.net/7mvmT/6/
基本上这一行:
$(":radio[value="+uniqref()+"]").prop('checked', true);
过早调用(在实际选中复选框之前。一个简单而丑陋的黑客:
setTimeout(function(next) {
$(":radio[value="+uniqref()+"]").prop('checked', true);
}, 0);
解决了它。
正如Niko提到的,你还有一个错字。
不需要黑客攻击。http://jsfiddle.net/dn7gM/
PS:仅适用于 2 个前无线电,因为并非所有 ID 都设置正确 ;-)
相关文章:
- jQuery选择器无法正常工作
- 将jquery选择器转换为数组
- JavaScriptDOM正常工作时JQuery选择器不工作
- 在我的情况下,使用带有变量失败的 jquery 选择器
- 换行符插入jquery选择器
- 使用javascript"这个“;用于jquery选择器
- jQuery选择器缓存问题
- jQuery 选择器,所有跨度都在 DIV 内
- JQuery选择器:如果同级具有.class,则选择td
- jQuery选择器不识别任何动态创建的HTML输入函数
- 循环遍历元素jquery选择器
- jQuery选择器错误:无法识别的表达式
- 自定义jquery选择器属性未在模拟器中激发
- Jquery选择器为空,我应该使用哪个作用域
- jQuery选择器就是用这个构建的
- jQuery 选择器混淆
- 将jQuery选择器与“this”相结合
- jQuery选择器在脚本中不起作用,但在控制台中工作
- jQuery 选择器中的简单 jQuery 语法和串联
- 全局 JQuery 选择器缓存以提高性能