Ich habe eine Chrome-Erweiterung, die, wenn ich darauf klicke, wird es alle die gleichen Element Schaltflächen auf einer Seite klicken und dann nach der Funktion ist, möchte ich alle auswählen 'P ist auf dem Dropdown. Ich habe mehrere 'pf' Klassen auf der Seite und muss alle auf P setzen. Die erste Funktion funktioniert, wenn es zur zweiten Funktion kommt, gibt es einen Fehler, der die Option zeigt. Length ist undefined. Meine Frage ist, wie bekommt man alle Optionen zählt in einer Klasse?Javascript zum Auswählen einer Dropdown-Option in einer Klasse
function clickUpdate(_callback) {
var updateArray = document.getElementsByClassName("updateButton");
[].slice.call(updateArray).forEach(function(item) {
item.click();
});
console.log("this is the array legnth: " + updateArray.length);
_callback();
}
//Get select object
var objSelect = document.getElementsByClassName("pf");
//Set selected
setSelectedValue(objSelect, "P");
function setSelectedValue(selectObj, valueToSet) {
clickUpdate(function(){
console.log("I am done with the first function");
});
for (var i = 0; i < selectObj.options.length; i++) {
if (selectObj.options[i].text == valueToSet) {
selectObj.options[i].selected = true;
return;
}
}
}
<select class="pf">
<option selected="selected" value="">Not Run</option>
<option value="P">Pass</option>
<option value="F">Fail</option>
<option value="N">N/A</option></select>
Mit ChromeDev-Tool können Sie einen Haltepunkt für 'var objSelect = document.getElementsByClassName (" pf ");'. und sehe den Wert von 'objSelect'. –