2017-07-20 8 views
0

Ich habe eine dynamisch erstellte select Element als solches:Add obligatorisch dynamisch erstellte Element

var select = document.createElement("select"); 

Was Ich mag würde jetzt tun ist, um dieses Element machen required. Ich weiß, wie man Klassen, Werte und Text von dynamisch erzeugten Elementen manipuliert, aber ich kann nicht herausfinden, wie man das Element required macht. Ich hatte eine Antwort von einer ähnlich klingenden Frage gelesen, dass:

select.rules("add", "required"); 

funktionieren würde, aber der Browser kommt wieder mit dem Fehler Uncaught TypeError: select.rules is not a function. Von dem, was ich gelesen habe, zeigt dies in der Regel eine Variable nicht richtig für JQuery gemacht werden, so dass ich versuchte, die Änderung der Schaffung Linie:

var select = $("<select></select>"); 

aber erhielt ich die gleiche Typeerror. Wirklich alles, was ich versuche zu tun ist required zu einem dynamisch erstellten select hinzuzufügen, und jeder Hinweis auf eine Richtung, um dies zu tun, würde geschätzt werden.

Antwort

1

Versuchen:

select.setAttribute("required", ""); 

ODER

document.createElement("select").required = true; 
+1

'select.setAttribute ("required", "") Versuchen Sie,' gearbeitet, als ich durch 'document.createElement amde wählen ("select");'. Ich nehme an, das war hauptsächlich ein Problem von mir verwirrend Javascript und Jquery? – yanman1234

1

Versuchen Sie, diese https://jsfiddle.net/z2f9mxa0/

var select = $("<select></select>"); 
 
$('body').append(select); 
 

 
$('select').attr('required', "");
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

Wenn Sie op Im Debug-Fenster des Browsers können Sie sehen, dass das erforderliche Attribut auf Element gesetzt ist, d. h. dynamisch hinzugefügt.

+0

Ich erkannte mein Problem hauptsächlich, dass ich alles in Javascript geschrieben habe und versuchte, jquery Funktionen darauf zu verwenden. Dies funktioniert jedoch für ein jQuery-Äquivalent, also vielen Dank für zukünftige Kopfschmerzen. – yanman1234

+0

Willkommen @ yanman1234 :) – Shiladitya

0

diese

var newDiv = document.createElement("div"); 
 
var selectHTML ="<select>"; 
 
selectHTML += "<option value=''>Select one</option>"; 
 
selectHTML += "</select>"; 
 
newDiv.innerHTML = selectHTML; 
 
document.getElementsByClassName("my-select")[0].appendChild(newDiv); 
 
document.getElementsByTagName("select")[0].required = true;
<form> 
 
    <div class="my-select"> 
 
    </div> 
 
    <input type="submit" value="ok"> 
 
</form>

Verwandte Themen