Javascript 添加按钮';数组中的值
编辑:我想插入value=“questions[questionNum]['choices'][I]”,我不知道这样做的语法 我希望使用多级数组中的值来更改按钮的值。它与单选按钮一起工作,但这次我想使用标准按钮Javascript 添加按钮';数组中的值,javascript,jquery,html,Javascript,Jquery,Html,编辑:我想插入value=“questions[questionNum]['choices'][I]”,我不知道这样做的语法 我希望使用多级数组中的值来更改按钮的值。它与单选按钮一起工作,但这次我想使用标准按钮 $('#showChoices').append('<input type="button" id="buttons">' + questions[questionNum]['choices'][i] + '</input>'); $('#showChoice
$('#showChoices').append('<input type="button" id="buttons">' + questions[questionNum]['choices'][i] + '</input>');
$('#showChoices')。追加(''+问题[questionNum]['choices'][i]+'');
这是可行的,但以下情况不可行:
$('#showChoices').append('<input type="button" id="buttons" value='"questions[questionNum]['choices'][i]"'></input>');
$('#showChoices')。追加('');
谢谢你只是想用JavaScript设置
值
道具?您只需要在值之后添加字符串连接的值,就像在第一个示例中一样
$('#showChoices').append('<input type="button" id="buttons" value=' + questions[questionNum]['choices'][i] + '></input>');
$('#showChoices')。追加('');
或者,如果您愿意,您可以尝试:
$('#showChoices')。追加(``);
它们使用反勾号而不是单引号或双引号,而不是concatation(带+),您只需直接在字符串中编写JavaScript,就像在您的示例中一样-但它需要包装在
${}
中您只想用JavaScript设置值
属性吗?您只需要在值之后添加字符串连接的值,就像在第一个示例中一样
$('#showChoices').append('<input type="button" id="buttons" value=' + questions[questionNum]['choices'][i] + '></input>');
$('#showChoices')。追加('');
或者,如果您愿意,您可以尝试:
$('#showChoices')。追加(``);
它们使用反勾号而不是单引号或双引号,而不是concatation(带+),您只需直接在字符串中编写JavaScript,就像在您的示例中一样-但它需要包装在${}
中尝试以下方法:
$('#showChoices').append('<input type="button" id="buttons" value="'+ questions[questionNum]['choices'][i] +'"/>');
$('#showChoices')。追加('');
试试这个:
$('#showChoices').append('<input type="button" id="buttons" value="'+ questions[questionNum]['choices'][i] +'"/>');
$('#showChoices')。追加('');
您需要使用字符串连接来添加值。此外,id必须是唯一的,所以我在您的id中添加了选项索引以使它们唯一
var-questions={'questionNum':{'choices':['foo','bar']};
对于(变量i=0;i
您需要使用字符串连接来添加值。此外,id必须是唯一的,所以我在您的id中添加了选项索引以使它们唯一
var-questions={'questionNum':{'choices':['foo','bar']};
对于(变量i=0;i
这就是你需要的吗
$('#showChoices').append('<input type="button" id="buttons" name="buttons" value='+butVal+'></input>');
$('#showChoices')。追加('');
这就是你需要的吗
$('#showChoices').append('<input type="button" id="buttons" name="buttons" value='+butVal+'></input>');
$('#showChoices')。追加('');
你知道,在回答了这个问题之后,我忍不住觉得我们都有一种隧道式的视野。也许这并不重要,但我觉得如果使用jQuery,首先应该使用attr()
方法,而不是字符串连接。因此:
$('').attr('value',questions[questionNum]['choices'][i])。附录('showChoices')代码>
事实上,这是我可能会写的。(我将append
更改为appendTo`以允许链接两个属性,只允许一行
我还注意到:input元素不应该被关闭——它是一个“self-closing”标记,表示您不需要在末尾添加
正如你在其他地方问的:是的,为了可读性,我会将所有代码保存到一个变量中。所以:
const choice = questions[questionNum]['choices'][i]; // maybe even break this down into several variables. It's quite deep
$('<input type="button" id="buttons">').attr('value', choice).appendTo('#showChoices');
const choice=questions[questionNum]['choices'][i];//甚至可以将其分解为几个变量。它相当深刻
$('').attr('value',choice).appendTo('#showChoices');
你知道,在回答了这个问题之后,我忍不住觉得我们都有隧道式的视野。也许这并不重要,但我觉得如果你使用jQuery,你应该首先使用attr()
方法,而不是字符串串联。因此:
$('').attr('value',questions[questionNum]['choices'][i]).appendTo('showChoices');
这实际上是我可能会写的。(我将append
改为appendTo`以允许我链接两个属性,只允许一行。)
我还注意到:input元素不应该被关闭——它是一个“self-closing”标记,表示您不需要在末尾添加
正如你在其他地方问的:是的,为了可读性,我会将所有代码保存到一个变量中。所以:
const choice = questions[questionNum]['choices'][i]; // maybe even break this down into several variables. It's quite deep
$('<input type="button" id="buttons">').attr('value', choice).appendTo('#showChoices');
const choice=questions[questionNum]['choices'][i];//甚至可以将其分解为几个变量。它相当深刻
$('').attr('value',choice).appendTo('#showChoices');
问题是……什么?@cale\b我找不到向按钮添加值的相关语法。第二个选项看起来像我想要的,但不起作用。问题是……什么?@cale\b我找不到向按钮添加值的相关语法。第二个选项看起来像我想要的,但不起作用。如果你同意,我将向上投票e此答案不是“仅代码”回答。解释一下你做了什么,它是如何工作的,为什么,等等。虽然这会很有用,我当然会很感激,但我能理解其中的道理。我想我需要的是通常后面的双引号,我不需要。我想我不需要加号,但我需要。谢谢你添加了理由和命名法。使用字符串c关于分类,你的答案和Hassan Imam的答案有什么区别吗?同样,把它变成变量有什么好处吗?模板字符串似乎是一个非常有用的工具,谢谢你介绍给我。@userabuserconfuser你是说双引号吗?如果里面的代码是字符串或数字-应该是-它们都不会也一样。如果你传递一些毫无意义的东西,比如一个对象或函数,那么,他们会给出一些不同的东西,但都没有意义。但这个问题实际上促使我写了一个不同的答案:jQuery已经有了一个attr()
方法来添加属性(它可以为你处理所有的转义等等)您可能只想使用它。@userabuserconfuser对于va