从动态控件中选择内容的脚本

时间:2013-10-11 15:53:16

标签: javascript jquery asp.net

我有几个包含动态控件的页面。这意味着我永远不知道我在页面上有哪些类型或多少控件。我需要一个脚本,在单击文本区域时从文本区域中选择文本。我认为下面的脚本可以工作,但它似乎没有按预期运行。

$(function () {
    $('input[type=textarea]').focus(function () {
        inputValue = this.value;
    });
});


<div style="display: table;">
    <div style="display: table-row">
        <div style="display: table-cell;">
            <span style="font-weight: bold">TextArea 1</span>
        </div>
    </div>
    <div style="display: table-row">
        <div style="display: table-cell;">
            <textarea id="txtTextArea1" rows="3" cols="30">

2 个答案:

答案 0 :(得分:0)

如果您正在谈论在焦点上选择textarea中的所有文本,这已在此处得到解答。

how to select all text in textarea on focus (in safari)

答案 1 :(得分:0)

这不起作用,因为您将事件绑定到DOM中不一定存在的元素。要做到这一点,你应该使用$ .on()来绑定它,它将适用于元素在DOM中出现的时间。见http://api.jquery.com/on/

您想做什么:

$(function () {
    $('.container-element').on('focus', 'textarea', function () {
        var inputValue = $(this).val();
    });
});

请注意,要将事件绑定到future元素,您必须提供一个选择器作为$ .on()的参数。这假定您具有以下结构:

<div class="container-element">
  <textarea name="some_texarea"></textarea>
</div>

另请注意,textarea本身就是一个标签,而不是一种输入。