如何计算输入的字符数和对其的操作?

时间:2011-11-11 04:27:22

标签: javascript jquery character

嗨我在jQuery中相当基本,并且陷入了一个脚本:

//hide all radio buttons first

$('#q11_6_1').parent().hide();
$('#q11_6_2').parent().hide();
$('#q11_6_3').parent().hide();
$('#q11_6_4').parent().hide();
$('#q11_6_5').parent().hide();

//check the length of the open text box

var other2text = $('#q11_6_other').val().length;
$('#q11_6_other').keypress(function(){

//if at least one character has been entered, then I want to show all radio buttons

if(other2text>=0)
{
    $('#q11_6_1').parent().show();
    $('#q11_6_2').parent().show();
    $('#q11_6_3').parent().show();
    $('#q11_6_4').parent().show();
    $('#q11_6_5').parent().show();
}

//else I want to hide all

else
{
    $('#q11_6_1').parent().hide();
    $('#q11_6_2').parent().hide();
    $('#q11_6_3').parent().hide();
    $('#q11_6_4').parent().hide();
    $('#q11_6_5').parent().hide();
}
});

“if condition”的第一部分正在工作,但是当我清除了q11_6_other中的所有文本时,这些单选按钮将不会隐藏。我认为“其他”部分不起作用,但不确定如何绕过它。

非常感谢你的帮助!!!

4 个答案:

答案 0 :(得分:1)

将变量other2text放在事件处理函数中:

$('#q11_6_other').keypress(function(){
    var other2text = $('#q11_6_other').val().length;

另外,我建议您使用keyup代替keypress。但是,如果您这样做,则需要将other2text>=0更改为other2text>0

答案 1 :(得分:0)

您的other2text变量当前在页面加载时填充一次。你想要的是每按一次按钮就让它运行,所以把这个变量放在函数中:

$('#q11_6_other').keypress(function() {
    var other2text = $('#q11_6_other').val().length;
    ...

答案 2 :(得分:0)

将变量other2text放在事件处理程序

$('#q11_6_other').keypress(function() {
    var other2text = $('#q11_6_other').val().length;

答案 3 :(得分:0)

这应该可以解决问题

$('#q11_6_other').keypress(function() {

var other2text = $('#q11_6_other').val().length;