Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/91.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
点击JavaScript_Javascript_Html_Knockout.js_Onclick - Fatal编程技术网

点击JavaScript

点击JavaScript,javascript,html,knockout.js,onclick,Javascript,Html,Knockout.js,Onclick,我有这个文件,它允许我有一个多选问卷,点击进行 我该如何用图像来代替文字呢?(还有一个技工,单击[图像]后,会出现下一个问题) 我已经尝试了一些基本的div操作,用f.e的UL/H1设置背景图像,但正如你所预料的,这使我毫无用处 我很好奇这是否是因为“标题”必须是其他内容 var questions = [ { caption: 'Question 1?', a

我有这个文件,它允许我有一个多选问卷,点击进行

我该如何用图像来代替文字呢?(还有一个技工,单击[图像]后,会出现下一个问题)

我已经尝试了一些基本的div操作,用f.e的UL/H1设置背景图像,但正如你所预料的,这使我毫无用处

我很好奇这是否是因为“标题”必须是其他内容

            var questions = [
                {
                    caption: 'Question 1?',
                    answers: [
                        { caption: 'It sucks!' },
                        { caption: 'It rules!' }
                    ]
                }
正在进行的代码的其余部分可在以下位置找到:
像这样做怎么样:

我所做的是将图像的名称设置为:

var questions = [
        {
            caption: 'Question 1?',
            answers: [
                { caption: 'It sucks!' },
                { caption: 'It rules!' }
            ]
        },
        {
            caption: 'Question 2?',
            answers: [
                { caption: '_62880798_62880797.jpg' },
                { caption: '_62880035_62880034.jpg' }
            ]
        }
];
然后,在:

self.currentQuestion(questions[currentQuestionIndex]);
我添加以下jQuery代码:

$('#lol').find('li').each(function() {
    var imgPath = 'http://news.bbcimg.co.uk/media/images/62880000/jpg/';
    var imgName = $(this).text();
    $(this).html('<img src="'+imgPath+imgName+'" width="20" />');
});
$('lol')。查找('li')。每个(函数(){
var imgPath=http://news.bbcimg.co.uk/media/images/62880000/jpg/';
var imgName=$(this.text();
$(this.html(“”);
});

我使用
li
元素的内容(答案)获取图像的名称,然后用图像标记(
)替换
li
元素的内容。

这样做怎么样:

我所做的是将图像的名称设置为:

var questions = [
        {
            caption: 'Question 1?',
            answers: [
                { caption: 'It sucks!' },
                { caption: 'It rules!' }
            ]
        },
        {
            caption: 'Question 2?',
            answers: [
                { caption: '_62880798_62880797.jpg' },
                { caption: '_62880035_62880034.jpg' }
            ]
        }
];
然后,在:

self.currentQuestion(questions[currentQuestionIndex]);
我添加以下jQuery代码:

$('#lol').find('li').each(function() {
    var imgPath = 'http://news.bbcimg.co.uk/media/images/62880000/jpg/';
    var imgName = $(this).text();
    $(this).html('<img src="'+imgPath+imgName+'" width="20" />');
});
$('lol')。查找('li')。每个(函数(){
var imgPath=http://news.bbcimg.co.uk/media/images/62880000/jpg/';
var imgName=$(this.text();
$(this.html(“”);
});

我使用
li
元素的内容(答案)获取图像的名称,然后我用图像标签(
)替换
li
元素的内容。

非常感谢您的回复Dim13i,首先我注意到使用此设置的图像无法显示在“问题1”上-这是否可以修复?第二,我已经谢谢你了吗?哈哈,我也注意到这个设置与答案的输出相冲突,我确实希望那部分至少是文本。有没有办法解决这个问题?我只是想,我可以用一个“点击开始”按钮作为“第一个问题”——这可能是一个便宜的解决方案。像这样?我创建了一个函数
setImage()
,并在
$(document).ready()
中调用它,然后在与以前相同的位置调用它。你是一个英雄,Dim13i!只需稍微整理一下代码,内联答案并添加第三个问题。从完美到完美的第一步现在是更好的输出响应,尽管有了它,我想我可以为每个答案添加一个新的输出(如果ans1单击,输出x,如果ans 2输出y)~尽管如果我自己无法管理它,我可能应该为此创建一个新线程,比如JS:
function q1a1(){document.getElementById(“output1”).innerHTML+='Just 1';}函数q1a2(){document.getElementById(“output1”).innerHTML+='2-5';}函数q1a3(){document.getElementById(“output1”).innerHTML+='6或更多';}
然后是HTML:
  • 非常感谢您的回复,首先,我注意到带有此设置的图像无法显示在“问题1”上-这是可修复的吗?第二,我已经谢谢你了吗?哈哈,我也注意到这个设置与答案的输出相冲突,我确实希望那部分至少是文本。有没有办法解决这个问题?我只是想,我可以用一个“点击开始”按钮作为“第一个问题”——这可能是一个便宜的解决方案。像这样?我创建了一个函数
    setImage()
    ,并在
    $(document).ready()
    中调用它,然后在与以前相同的位置调用它。你是一个英雄,Dim13i!只需稍微整理一下代码,内联答案并添加第三个问题。从完美到完美的第一步现在是更好的输出响应,尽管有了它,我想我可以为每个答案添加一个新的输出(如果ans1单击,输出x,如果ans 2输出y)~尽管如果我自己无法管理它,我可能应该为此创建一个新线程,比如JS:
    function q1a1(){document.getElementById(“output1”).innerHTML+='Just 1';}函数q1a2(){document.getElementById(“output1”).innerHTML+='2-5';}函数q1a3(){document.getElementById(“output1”).innerHTML+='6或更多';}
    然后是HTML: