2016-12-09 6 views
0

Ich möchte die Auswahl Box Optionen auf Schaltfläche anzeigen. Nicht im Auswahlbox-Dropdown. Wenn ich auf die Schaltfläche klicke, erscheint die Dropdown-Liste.Wie zeigt man das Auswahlfeld Optionen auf Button Klick?

AKTUALISIERT ich meine. Wenn Sie auf die Dropdown-Box klicken, wird das Bestätigungsfeld angezeigt. Wenn ich dann auf "Abbrechen" klicke, wird nichts angezeigt. Wenn ich auf "OK" klicke, erscheint die Dropdown-Liste.

Hier ist mein Code

<select id="mySelect" name="myselect" onclick="myFunction()"> 
<option value="Audi">Audi 
<option value="BMW">BMW 
<option value="Mercedes">Mercedes 
<option value="Volvo">Volvo 
</select> 

<p id="demo"></p> 

<script> 
function myFunction() { 
    var txt; 
    var select=document.getElementsByName("myselect"); 
    var r = confirm("Press a button!"); 
    if (r == true) { 
     select.show(); 
     txt = "You pressed OK!"; 
    } else { 
     txt = "You pressed Cancel!"; 
    } 
     document.getElementById("demo").innerHTML = txt; 
    } 
    </script> 
+0

Ich weiß nicht, was Sie hier zu erreichen versuchen; Auswahlelemente wirken sich bereits wie Schaltflächen aus, die Dropdown-Listen öffnen. Versuchen Sie, eine Liste zu schreiben, die keine auswählbaren Optionen hat? (In diesem Fall würden Sie List-Tags wie "ol", "ul" und "li" verwenden.) – gyre

+0

Nein Nein. Ich meine. Wenn Sie auf die Dropdown-Box klicken, wird das Bestätigungsfeld angezeigt. Wenn ich dann auf "Abbrechen" klicke, wird nichts angezeigt. Wenn ich auf "OK" klicke, erscheint das Dropdown-Menü. –

Antwort

0

so etwas wie dieses Versuchen:

function myFunction(item) { 
 
    var txt; 
 
    var dropDown=document.getElementsByName("myselect"); 
 
    var r = confirm("Press a button!"); 
 
    if (r == true) {  
 
    item.setAttribute("size", item.options.length); 
 
     txt = "You pressed OK!"; 
 
    } else { 
 
     
 
     txt = "You pressed Cancel!"; 
 
    } 
 
     document.getElementById("demo").innerHTML = txt; 
 
    }
<select id="mySelect" name="myselect" onclick="myFunction(this)"> 
 
<option value="Audi">Audi 
 
<option value="BMW">BMW 
 
<option value="Mercedes">Mercedes 
 
<option value="Volvo">Volvo 
 
</select> 
 

 
<p id="demo"></p>

0

Ich glaube nicht, es ist möglich, Ihre beabsichtigte Funktionalität genau zu imitieren; Das Anzeigen eines synchronen confirm-Dialogfelds scheint den Fokus auf das Element select zu richten. Allerdings konnte ich es so einrichten, dass man die select nach selbst wählen kann, OK zum Dialog sagt.

var demo = document.getElementById('demo'), ignore = false 
 

 
document.getElementById('mySelect').addEventListener('focus', function() { 
 
    if (ignore) { 
 
    ignore = false 
 
    } else if (confirm('Press a button!')) { 
 
    demo.textContent = 'You pressed OK!' 
 
    ignore = true 
 
    } else { 
 
    demo.textContent = 'You pressed Cancel!' 
 
    } 
 
})
<select id="mySelect" name="myselect"> 
 
    <option value="Audi">Audi</option> 
 
    <option value="BMW">BMW</option> 
 
    <option value="Mercedes">Mercedes</option> 
 
    <option value="Volvo">Volvo</option> 
 
</select> 
 
<p id="demo"></p>

Verwandte Themen