Вы могли бы хотеть получить все флажки, выполняющие querySelector, а затем проверить, какой из них отмечен, а какой не выбран. Я добавил две функции с ним, вы можете просто запустить одну для цикла и сделать ту же логику.
function getUncheckedValues() {
const obj = {};
Array.from(document.querySelectorAll('input[type="radio"]'))
.forEach((checkbox) => {
obj[checkbox.value] = checkbox.checked
});
console.log(obj);
return obj;
}
const resultEl = document.getElementById('checkedresult');
const resultUncheckEl = document.getElementById('uncheckedresult');
document.getElementById('showResult').addEventListener('click', () => {
const values = getUncheckedValues();
console.log(values);
const newRef = firebase.database().ref('messages').push();
newRef.set(values);
});
<label> <input type="radio" name="q0" value="a1" id="a1" class="radio"> IMAGE 1 <br><br><br> </label>
<label> <input type="radio" name="q0" value="a2" id="a2" class="radio"> IMAGE 2 <br><br><br> </label>
<label> <input type="radio" name="q0" value="a3" id="a3" class="radio"> IMAGE 3 <br><br><br> </label>
<label> <input type="radio" name="q0" value="a4" id="a4" class="radio"> IMAGE 4 <br><br><br> </label>
<label> <input type="radio" name="q0" value="a5" id="a5" class="radio"> IMAGE 5 <br><br><br> </label>
<br><br>
<button id="showResult">Show checked values</button>
<br><br>
<div id="checkedresult"></div>
<div id="uncheckedresult"></div>
Попробуйте это:
var matches = dict.Values.Where(rec => rec.Name == "foo").ToList();
знать, что это будет по существу создавать новый список из набора исходных значений, и таким образом, любые изменения в Вашем словаре не будут автоматически отражены в Вашем связанном элементе управления.
Я склонен предпочитать использовать новый синтаксис Linq:
myListView.DataSource = (
from rec in GetAllRecords().Values
where rec.Name == "foo"
select rec ).ToList();
myListView.DataBind();
, Почему Вы получаете словарь, когда Вы не используете ключ? Вы платите за те издержки.
Вы могли бы также попробовать:
var matches = new List<Record>(dict.Values.Where(rec => rec.Name == "foo"));
В основном универсальные наборы очень трудно бросить непосредственно, таким образом, у Вас действительно есть мало выбора, но создать новый объект.
myListView.DataSource = (List<Record>) dict.Values.Where(rec => rec.Name == "foo");