3

执行警报后,下一行给出错误。如何使用 javascript 或 jquery 解决此问题?

    for(var nI = 0; nI < aOrderNumList.length; nI++) {
        if(!isEmpty(aOrderNumList[nI])) {
            alert("Invalid Order Number");
            var oTextRange = $("#OrderNumList").createTextRange();
            var lFound = oTextRange.indexOf(aOrderNumList[nI])!=-1;
            if(lFound) {
               oTextRange.select(); 
            }
            return false;
        }
    }

HTML 代码

    <tr>
         <td>Order Number List:</td>
         <td><textarea tabindex="<%=nIndex+1%>" id="OrderNumList" name="OrderNumList" rows="2" cols="35" <%=VClass("OrderNumList","")%>></textarea></td>
    </tr>

非常感谢你。

4

3 回答 3

2

我认为应该是:

var oTextRange = $("#OrderNumList")[0].createTextRange();

createTextRange 是 DOM 对象的方法,而不是 jquery 对象。

更新:

正文、按钮、文本区域和输入元素都支持 createTextRange 方法,但使用该方法会引发某些输入元素(复选框、图像、单选)的异常。isTextEdit 属性可用于避免异常。

查看更多:http ://help.dottoro.com/ljfahrpo.php

于 2013-02-01T07:10:25.673 回答
2

与您的代码一样,您需要选择输入元素的文本内容(文本、文本区域类型的输入字段)。

Java 脚本

document.getElementById("selector").select()
//selector is element id

jQuery

setTimeout(function () { 
    $("#selector").select(); 
}, 1);
//selector is element id, also can you with class selector ie. $(".selector").select();
于 2013-06-17T12:10:36.443 回答
0

我回应其他人所说的,但请记住,如果这是您唯一要做的事情,那么您就不需要 jQuery。

var oTextRange = document.getElementById("OrderNumList").createTextRange();
于 2013-02-01T07:26:01.937 回答