I'm using semantic ui dropdown within a modal box, whenever the modal is being opened, the dropdown in it opens automatically.
function showmodal() {
$('.ui.modal').modal('show');
}
if ($('.ui.dropdown').length) {
$('.ui.dropdown').dropdown({
useLabels: false,
forceSelection: false,
autoFocus: false
});
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/semantic-ui/2.4.1/semantic.min.css" rel="stylesheet" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/semantic-ui/2.4.1/semantic.min.js"></script>
<div class="ui modal">
<i class="close icon"></i>
<div class="header">
Profile Picture
</div>
<div class="content">
<form action="" class="ui form">
<div class="field mandatory">
<label>Gender</label>
<select class="ui dropdown">
<option value="">Gender</option>
<option value="1">Male</option>
<option value="0">Female</option>
</select>
</div>
</form>
</div>
<div class="actions">
<div class="ui black deny button">
Nope
</div>
<div class="ui positive right labeled icon button">
Yep, that's me
<i class="checkmark icon"></i>
</div>
</div>
</div>
<button class="ui button" onclick="showmodal()">Click to Open Modal</button>
I have tried autoFocus: false, but it's not working.
You need to put the autoFocus: false before the modal('show') :
function showmodal() {
$('.ui.modal').modal({
autofocus: false,
}).modal('show');
}
if ($('.ui.dropdown').length) {
$('.ui.dropdown').dropdown({
useLabels: false,
forceSelection: false
});
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/semantic-ui/2.4.1/semantic.min.css" rel="stylesheet" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/semantic-ui/2.4.1/semantic.min.js"></script>
<div class="ui modal">
<i class="close icon"></i>
<div class="header">
Profile Picture
</div>
<div class="content">
<form action="" class="ui form">
<div class="field mandatory">
<label>Gender</label>
<select class="ui dropdown">
<option value="">Gender</option>
<option value="1">Male</option>
<option value="0">Female</option>
</select>
</div>
</form>
</div>
<div class="actions">
<div class="ui black deny button">
Nope
</div>
<div class="ui positive right labeled icon button">
Yep, that's me
<i class="checkmark icon"></i>
</div>
</div>
</div>
<button class="ui button" onclick="showmodal()">Click to Open Modal</button>
JSFiddle : https://jsfiddle.net/wvpqf9t2/
The property you are looking for is showOnFocus: False
$(function(){
$('.ui.button').click(function(){ showmodal() })
function showmodal() {
$('.ui.modal').modal('show');
}
if ($('.ui.dropdown').length) {
$('.ui.dropdown').dropdown({
showOnFocus: false
});
}
})
https://jsfiddle.net/q48s3voj/1/
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With