jquery 有没有一个简单的方法来显示结果的50个问题的MCQ与单选按钮在javascript?

z4iuyo4d  于 2022-12-18  发布在  jQuery
关注(0)|答案(1)|浏览(104)

我在一个活动中有50个问题,每个问题都有一个radiogroup。我想在单击提交按钮时显示用户的结果。我尝试的是,一旦单击“提交”,代码将检查每个选中的单选按钮并显示得分。我想知道是否有更简单的方法来完成此操作。

linear_submit.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View _view) { 

if (radiobutton1.isChecked()) {
score++;
radiobutton1.setBackgroundColor(0xFF66BB6A);
}
if (radiobutton2.isChecked()) {
radiobutton2.setBackgroundColor(0xFFE57373);
}
if (radiobutton3.isChecked()) {
radiobutton3.setBackgroundColor(0xFFE57373);
}
if (radiobutton4.isChecked()) {
radiobutton4.setBackgroundColor(0xFFE57373);
}
if (radiobutton5.isChecked()) {
radiobutton5.setBackgroundColor(0xFFE57373);
}
if (radiobutton6.isChecked()) {
score++;
radiobutton6.setBackgroundColor(0xFF66BB6A);
}
if (radiobutton7.isChecked()) {
radiobutton7.setBackgroundColor(0xFFE57373);
}
if (radiobutton8.isChecked()) {
radiobutton8.setBackgroundColor(0xFFE57373);
}
if (radiobutton9.isChecked()) {
radiobutton9.setBackgroundColor(0xFFE57373);
}
if (radiobutton10.isChecked()) {
radiobutton10.setBackgroundColor(0xFFE57373);
}
if (radiobutton11.isChecked()) {
score++;
radiobutton11.setBackgroundColor(0xFF66BB6A);
}
if (radiobutton12.isChecked()) {
radiobutton12.setBackgroundColor(0xFFE57373);
}

所有这一切都是为3个问题,写这所有200个单选按钮是累人的,有一个简单的方法吗?

gjmwrych

gjmwrych1#

这是我在Kotlin中的答案(我建议将您的代码迁移到Kotlin)

(1..120).map {
  val id = resources.getIdentifier("radiobutton$it", "id", packageName)
  val radiobutton = findViewById<View>(id) as RadioButton

  if (radiobutton.isChecked) {
    radiobutton.setBackgroundColor(android.graphics.Color.parseColor("#E57373"))
  }
}

相关问题