Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 值点显示在只读文本框中_Php_Jquery_Html - Fatal编程技术网

Php 值点显示在只读文本框中

Php 值点显示在只读文本框中,php,jquery,html,Php,Jquery,Html,我在下面有一个代码,其中一列显示文本输入,第二列显示总分数,最后一列显示剩余分数。下表如下所示: Marks Per Answer Total Marks Marks Remaining (blank text input) 4 4 (blank text input) 6 6 (blank disabled text input) 4

我在下面有一个代码,其中一列显示文本输入,第二列显示总分数,最后一列显示剩余分数。下表如下所示:

Marks Per Answer               Total Marks    Marks Remaining
(blank text input)               4              4
(blank text input)               6              6
(blank disabled text input)      4              4
但我的问题是,如果只读文本输入为空,它应该显示“Total Marks”列的值(在上面的示例中,只读文本输入的值为4)

此外,只读文本输入包含总分数,在“剩余分数”列下,这是不正确的,此行应显示0。(对于只读文本输入,其值为4,因此,如果我们在总分下用4减去该值,则禁用文本输入行的剩余分数应为0。)

因此,当用户访问页面时,该表应如下所示:

Marks Per Answer                                             Total Marks    Marks Remaining
(blank text input)                                                 4              4
(blank text input)                                                 6              6
(readonly text input = 4 (same value as under Total Marks))        4              0
我的问题是,如何通过更改以下jquery来解决上述两个步骤:

 $(function () {
        //alert("here");         
        var questions = $('#markstbl td[class*="_ans"]').length;

        //disable single entry

        for (var i=0;i<=questions;i++){   
        if ($("[class*=q" + i + "_mark]").length == 1) {
        //alert(t_marks);
        var t_marks = $("[class*=q" + i + "_ans]");
        var t_marksHtml = t_marks.html();
         t_marks.html("0");
         $("[class*=q" + i + "_mark]").val(t_marksHtml).attr('readonly', true);
        //$("[class*=q"+i+"_mark]").attr('readonly',true);
}                   
}

        //find each question set and add listeners
        for (var i = 0; i <= questions; i++) {
            $('input[class*="q' + i + '"]').keyup(function () {
                var cl = $(this).attr('class').split(" ")[1]
                var questionno = cl.substring(cl.indexOf('q') + 1, cl.indexOf('_'));
                var tot_marks = $(".q" + questionno + "_ans_org").val();
                //alert(tot_marks);
                var ans_t = 0;
                $("[class*=q" + questionno + "_mark]").each(function () {
                    var num = (isNaN(parseInt($(this).val()))) ? 0 : parseInt($(this).val());
                    ans_t += parseInt(num);
                });
                ans_t = tot_marks - ans_t;
                //alert(ans_t);
                //var fixedno = tot_marks;
                var ans = ans_t;
                var answerText = '<strong>' + ans + '</strong>';
                $(".q" + questionno + "_ans").val(ans);
                $(".q" + questionno + "_ans_text").html(answerText);
            });
        }
    });
$(函数(){
//警报(“此处”);
变量问题=$(“#markstbl td[class*=”#ans“])。长度;
//禁用单个条目
对于(var i=0;i
这可能有助于:

$("[class*=q"+questionno+"_mark]").each(function(){
搜索名为
q[X]\u mark的类

这条线呢

<input class="individualMarks q<?php echo$questionId?>_mark_0"  q_group="1" name="answerMarks[]" id="individualtext" type="text" />

我不确定这是否是您的问题,但如果不正确,我将继续查找。

因此我认为这应该是您所需要的全部:

    if ($("[class*=q" + i + "_mark]").length == 1) {
        //alert(t_marks);
        var t_marks = $("[class*=q" + i + "_ans]");
        var t_marksHtml = t_marks.html();
        t_marks.html("0");
        $("[class*=q" + i + "_mark]").val(t_marksHtml).attr('readonly', true);
        //$("[class*=q"+i+"_mark]").attr('readonly',true);
    }

你能包含一些完整的HTML,这样我就可以创建一个真正的数据吗?@JamesKleeh给我10分钟时间从视图源获取HTML,我将在我的question@JamesKleeh我已经包含了来自视图源的完整html,并将其包含在更新部分hi Cha下的问题中所以你是说把这行代码
$(“[class*=q”+questionno+“\u-mark]”)改成
$(“[class*=q”+questionno+“\u-mark]”)。每个(function(){
?是的,我试过了,但还是没有成功,你还有其他想法吗?嗨,詹姆斯,好的,我在我的应用程序和上面的问题中将你的jquery代码包括在我的jquery代码中。现在它确实改变了“剩余总分”对于只读文本输入行,设置为0,这很好。但是有两个小问题。第一个问题是,如果我单击只读文本框并按一个键,那么“剩余总分”下的数字0更改回其原始值。第二个问题是,它仍然没有在只读文本框中显示值。但你正在实现。你还有什么想法吗?投票赞成的回答我认为我缺少一些HTML。我看到了对_ansu_org的引用,但是我在任何地方都没有看到该输入元素。很抱歉,我没有显示完整的HTML,这是完整的html,再次抱歉
<input class="individualMarks q<?php echo$questionId?>_mark_0"  q_group="1" name="answerMarks[]" id="individualtext" type="text" />
q[X]_mark_0
    if ($("[class*=q" + i + "_mark]").length == 1) {
        //alert(t_marks);
        var t_marks = $("[class*=q" + i + "_ans]");
        var t_marksHtml = t_marks.html();
        t_marks.html("0");
        $("[class*=q" + i + "_mark]").val(t_marksHtml).attr('readonly', true);
        //$("[class*=q"+i+"_mark]").attr('readonly',true);
    }