繁体   English   中英

jQuery输入var的返回值

[英]jquery return value of input to var

我正在尝试使变量等于文本框的值。 我已将文本框值设置为变量,并作为警报返回(暂时),但是我不知道如何从其他函数中调用该变量。

$('#max_char').keyup(function () {
    var max_char = $(this).val();
    alert(max_char + ' Handler for .keyup() called.');
});

var count_options = {
    'maxCharacterSize': max_char,
    'originalStyle': 'originalDisplayInfo',
    'warningStyle': 'warningDisplayInfo',
    'warningNumber': 40,
    'displayFormat': '#input Characters | #left Characters Left | #words Words'
};

$('#textinput').textareaCount(count_options);
});

的HTML

<textarea cols="68" rows="21" name="textinput" id="textinput"></textarea><br/>
    <input type="textbox" id="max_char" name="max_char" value="-1" /> Max Characters <br/>

任何帮助都会很棒。 尝试将var max_char添加到count_options的maxCharacterSize中

所有你需要做的就是声明max_char在较高的范围,即在KEYUP功能之外

var max_char;

$('#max_char').keyup(function () {
    max_char = +$(this).val();
    alert(max_char + ' Handler for .keyup() called.');
});

还请注意,由于"1" + 1 == "11" ,我在$(this).val()前面加了一个+ ,以将其从字符串转换为数字。


更新

textareaCount插件无法正常工作的原因是,它已在文档就绪时初始化一次 目前, max_char ,因为用户尚未输入任何内容。

您必须在每个按键上重新配置或重新初始化插件才能获得想要的效果。 不幸的是,该插件没有说明实现此目的的简便方法。 在仔细阅读了插件的源代码之后,我认为只有绑定了3个事件,您需要还原该事件,然后才能再次对其进行初始化。 试试看:

var count_options = {
    'maxCharacterSize': 100, // Just some default value
    'originalStyle': 'originalDisplayInfo',
    'warningStyle': 'warningDisplayInfo',
    'warningNumber': 40,
    'displayFormat': '#input Characters | #left Characters Left | #words Words'
};

// Initialise the plugin on document ready
$('#textinput').textareaCount(count_options);

$('#max_char').keyup(function () {
    var max_char = +$(this).val();
    count_options.maxCharacterSize = max_char;

    // Unbind the 3 events the plugin uses before initialising it
    $('#textinput')
        .next('.charleft').remove().end()
        .unbind('keyup').unbind('mouseover').unbind('paste')
        .textareaCount(count_options);
});

如果我正确理解您的话,如果您在javascript的全局范围内声明var

或者,如果您直接使用

$("#max_char").val()
parseInt($('#max_char').val())

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM