Jquery 它不是以字符串形式显示数字

Jquery 它不是以字符串形式显示数字,jquery,Jquery,我使用下面的代码来说明发生错误的表行(问题编号) var _qid = $("td.qid", this).text(); var _msg = "You have errors on Question Number: " + _qid + "\n"; 上面的代码进入下面的验证功能: function validation() { var _qid = $("td.qid", this).text(); var _msg = "You have errors on

我使用下面的代码来说明发生错误的表行(问题编号)

 var _qid = $("td.qid", this).text();
 var _msg = "You have errors on Question Number: " + _qid + "\n";
上面的代码进入下面的验证功能:

 function validation() {

     var _qid = $("td.qid", this).text();
     var _msg = "You have errors on Question Number: " + _qid + "\n";

    alertValidation= "";
        // Note, this is just so it's declared...


    $(".textAreaQuestion").each(function() {
        if (!this.value || this.value.length < 5) {
            alertValidation += "\nYou have not entered a valid Question\n";
        }

            if(alertValidation != ""){ 
                return false;//Stop the each loop 
            } 
    });

        $(".numberAnswerTxtRow").each(function() {
       var currenttotal = $(this).closest('.optionAndAnswer').find('.answerBtnsOn') .length; 

        if (!this.value) {
            alertValidation += "\nPlease Enter in the Number of Answers you Require for this question\n";
        }

    if(alertValidation != ""){ 
                return false;//Stop the each loop 
            } 

    });
myClickHandler()函数是从提交按钮调用的,如下所示:

<p><input id="submitBtn" name="submitDetails" type="submit" value="Submit Details" onClick="myClickHandler(); return false;" /></p>


分配qid时缺少上下文。 它仅在的上下文中有效

$("tr"). Click(function (){ 
    // the context is valid here
}) 
否则,您的代码不知道您指的是哪个td

如果您是通过此处的按钮触发事件,请选择更相关的内容。 您的HTML页面

<table border="1" width="200">
    <tr>
        <td class='qid'>1</td> 
        <td><input id="question1" class="question"  value="This is valid"/></td>
    </tr>
    <tr>
        <td class='qid'>2</td>
        <td><input id="question2" class="question" value="not"/></td>
    </tr>
    <tr>
        <td class='qid'>3</td>
        <td><input id="question3" class="question" value="This is also valid"/></td>
    </tr>
</table>
<button onclick="test()">Test</button>

1.
2.
3.
测验
然后是代码

function test(){

    $(".question").each(function(i,e){
        if(e.value.length < 5){
            console.log(e.id);
            var _qid = $("#"+e.id).parent().parent().eq(0).text();
            //console.log(_qid)
            alert("You have errors on Question Number: " + _qid);
        }
    }) 
}
功能测试(){
$(“.question”)。每个(功能(即,e){
如果(e.value.length<5){
控制台日志(e.id);
var_qid=$(“#”+e.id).parent().parent().eq(0).text();
//console.log(_qid)
警报(“您在问题编号上有错误:”+qid);
}
}) 
}
我还把它放在这里的JSFIDLE中:


我希望这会有所帮助。

您的HTML是什么样子的?你检查过它包含你认为它是什么吗?那么,
\u qid
包含什么?显然不是你想的那样。
这个
指的是什么?这个指的是什么?你能不能也发布HTML,最好是一个?'var _qid=$(“td.qid”,this.text();'这个语句中的“this”是什么?我将添加html,给我2分钟。发生的情况是jquery中的代码将一行添加到html表中,因此td.qid引用jquery中的表列(
var$qid=$(“”+qnum+);
)我是否可以简单地执行$(“tr”)函数,因为我不想单击一行,然后会出现警报?如何编写代码才能找到表行?好的,那么在标题中有一个带有某个ID的表。用户单击“提交”按钮,然后您解析该表并希望返回一条消息,该消息的ID与您发现错误的单元格(TD)相关?我将我的答案更改为通过单击按钮而不是单击行触发。
$("tr"). Click(function (){ 
    // the context is valid here
}) 
<table border="1" width="200">
    <tr>
        <td class='qid'>1</td> 
        <td><input id="question1" class="question"  value="This is valid"/></td>
    </tr>
    <tr>
        <td class='qid'>2</td>
        <td><input id="question2" class="question" value="not"/></td>
    </tr>
    <tr>
        <td class='qid'>3</td>
        <td><input id="question3" class="question" value="This is also valid"/></td>
    </tr>
</table>
<button onclick="test()">Test</button>
function test(){

    $(".question").each(function(i,e){
        if(e.value.length < 5){
            console.log(e.id);
            var _qid = $("#"+e.id).parent().parent().eq(0).text();
            //console.log(_qid)
            alert("You have errors on Question Number: " + _qid);
        }
    }) 
}