简体   繁体   English

使用javascript将JSON数据插入单选输入

[英]Insert JSON data into radio input with javascript

I have a DB, where a php post values with JSON to my app. 我有一个数据库,其中php用JSON将值发布到我的应用程序。 My wish is to fill the values into the inputs where they original was user generated. 我希望将这些值填充到用户最初生成的输入中。

I can use this command to fill text inputs: 我可以使用以下命令来填充文本输入:

document.getElementById("value1").value=item.value1;

But how do i return the value to radio input? 但是如何将值返回到无线电输入?

Set the checked attribute like so: 设置checked属性,如下所示:

document.getElementById('radioId').checked = 'checked';

Inversely, you can remove the attribute to uncheck it: 相反,您可以删除该属性以取消选中它:

document.getElementById('radioId').removeAttribute('checked'); 

Write example: 编写示例:

<input id="maleRadioBox" type="radio" name="sex" value="male">Male<br>
<input id="femaleRadioBox" type="radio" name="sex" value="female" checked>Female</input>
[...]
if( values.maleChecked )
   document.getElementById('maleRadioBox').checked = 'checked';
else
   document.getElementById('maleRadioBox').removeAttribute('checked');
if( values.femaleChecked )
   document.getElementById('femaleRadioBox').checked = 'checked';
else
   document.getElementById('femaleRadioBox').removeAttribute('checked');

Read example: 阅读示例:

<input id="maleRadioBox" type="radio" name="sex" value="male" checked>Male<br>
<input id="femaleRadioBox" type="radio" name="sex" value="female">Female</input>
[...]
if( document.getElementById('maleRadioBox').hasAttribute('checked') )
   values.maleChecked = 'checked';
// or maybe values.maleChecked = document.getElementById('maleRadioBox').hasAttribute('checked');
if( document.getElementById('femaleRadioBox').hasAttribute('checked') )
   values.femaleChecked = 'checked';
// or maybe values.femaleChecked = document.getElementById('femaleRadioBox').hasAttribute('checked');

You could always make a function to simplify it: 您总是可以创建一个函数来简化它:

function updateRadioInput( id, checked ) {
  if( checked )
    document.getElementById( id ).checked = 'checked';
  else
    document.getElementById( id ).removeAttribute('checked');
}

updateRadioInput( 'maleChecked', values.isMaleChecked );
updateRadioInput( 'femaleChecked', values.isFemaleChecked );
// etc...

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM