jQuery 在 select 框中添加空白选项字段
jQuery adding blank option field in the select box
我有以下 jquery 代码可用于两个 select 字段。
$(document).ready(function () {
$("#select1").change(function(){
$('#trblock').fadeIn();
if ($(this).data('options') == undefined) {
$(this).data('options', $('#select2 option').clone());
}
var id = $(this).val();
var options = $(this).data('options').filter('[value=' + id + ']');
$('#select2').html(options);
});
});
但是我希望第二个 select 框的 id="select2" 在顶部加载 1 个额外的空白选项。我尝试简单地添加 HTML 部分,但我认为由于上面的 jQuery 代码效果不允许它。所以我认为修改 jQuery 部分将完成任务。但是我有一个jQuery的新手。请帮助我如何获得它。
HTML.
中的类似内容
<select name="" id="select2">
<option value=""></option> // I want this here (by changing/adding codes in jquery)
<option value="1" date="01">Value 1</option>
<option value="2" date="02">Value 2</option>
<option value="3" date="03">Value 3</option>
<option value="4" date="04">Value 4</option>
<option value="5" date="05">Value 5</option>
</select>
首先创建空选项,然后用.append()
添加其余选项
$(document).ready(function () {
$("#select1").change(function(){
$('#trblock').fadeIn();
if ($(this).data('options') == undefined) {
$(this).data('options', $('#select2 option').clone());
}
var id = $(this).val();
var options = $(this).data('options').filter('[value=' + id + ']');
$('#select2').html('<option value="">').append(options);
});
});
只需使用 jquery 的 prepend() 在顶部添加一个选项。
$('#select2').prepend('<option value="">');
如果你想在开头添加空白选项,默认情况下 select,请使用以下代码:
$("#id").prepend("<option value=' ' selected='selected'></option>");
prepend 会将选项添加到顶部,selected='selected' 将使它 select编辑。由于value=' ',所以,它是空值选项。
如果您只想添加空白选项而不想 select 默认情况下使用以下代码:
$("#id").append("<option value=' ' ></option>");
如果您使用 form::select,最好的方法是使用此内联 [''=>'--- Select Subject - --']+$subjects
$('#subject').select2({
placeholder: "Select Subject...",
});
<div class="col-md-6" id ='subjectDiv'>
<div class="mb-3">
<div class="form-group">
{!! Form::label('subject', '* Subject:') !!}
{!! Form::select('subject', [''=>'--- Select Subject - --']+$subjects, null, ['required' => true, 'class' => 'form-control', 'id'=>'subject'])!!}
@if ($errors->has('subject'))
<span class="text-danger">{!! $errors-> first('subject') !!}</span>
@endif
<small id="" class="form-text text-muted"></small>
</div>
</div>
</div>
我有以下 jquery 代码可用于两个 select 字段。
$(document).ready(function () {
$("#select1").change(function(){
$('#trblock').fadeIn();
if ($(this).data('options') == undefined) {
$(this).data('options', $('#select2 option').clone());
}
var id = $(this).val();
var options = $(this).data('options').filter('[value=' + id + ']');
$('#select2').html(options);
});
});
但是我希望第二个 select 框的 id="select2" 在顶部加载 1 个额外的空白选项。我尝试简单地添加 HTML 部分,但我认为由于上面的 jQuery 代码效果不允许它。所以我认为修改 jQuery 部分将完成任务。但是我有一个jQuery的新手。请帮助我如何获得它。
HTML.
中的类似内容<select name="" id="select2">
<option value=""></option> // I want this here (by changing/adding codes in jquery)
<option value="1" date="01">Value 1</option>
<option value="2" date="02">Value 2</option>
<option value="3" date="03">Value 3</option>
<option value="4" date="04">Value 4</option>
<option value="5" date="05">Value 5</option>
</select>
首先创建空选项,然后用.append()
$(document).ready(function () {
$("#select1").change(function(){
$('#trblock').fadeIn();
if ($(this).data('options') == undefined) {
$(this).data('options', $('#select2 option').clone());
}
var id = $(this).val();
var options = $(this).data('options').filter('[value=' + id + ']');
$('#select2').html('<option value="">').append(options);
});
});
只需使用 jquery 的 prepend() 在顶部添加一个选项。
$('#select2').prepend('<option value="">');
如果你想在开头添加空白选项,默认情况下 select,请使用以下代码:
$("#id").prepend("<option value=' ' selected='selected'></option>");
prepend 会将选项添加到顶部,selected='selected' 将使它 select编辑。由于value=' ',所以,它是空值选项。
如果您只想添加空白选项而不想 select 默认情况下使用以下代码:
$("#id").append("<option value=' ' ></option>");
如果您使用 form::select,最好的方法是使用此内联 [''=>'--- Select Subject - --']+$subjects
$('#subject').select2({
placeholder: "Select Subject...",
});
<div class="col-md-6" id ='subjectDiv'>
<div class="mb-3">
<div class="form-group">
{!! Form::label('subject', '* Subject:') !!}
{!! Form::select('subject', [''=>'--- Select Subject - --']+$subjects, null, ['required' => true, 'class' => 'form-control', 'id'=>'subject'])!!}
@if ($errors->has('subject'))
<span class="text-danger">{!! $errors-> first('subject') !!}</span>
@endif
<small id="" class="form-text text-muted"></small>
</div>
</div>
</div>