使用 textbox/hidden 输入提供 select 选项值?
Feed select option value with textbox/hidden input?
我目前正在寻找以下值 (id="categoryid")...
<button class="btn btn-info btn-sm" onClick="MM_setTextOfTextfield('categoryid','','1')" data-toggle="modal" data-target="#AddNotesModal"><i class="fa fa-plus"></i> Add Notes
</button>
<input type="text" class="form-control" id="categoryid">
输入下面的选项值....
<select name="Category" required class="form-control">
<option value="">Select...</option>
<option value="______"><%=(rsNtsC.Fields.Item("NotesCategory").Value)%></option>
我该怎么做?如有必要,我愿意接受 jQuery、AJAX 和 javascript 解决方案。
非常感谢
编辑:
在我当前的设置中,使用 SQL 数据库中的一个值作为 ID 号,就像这样。我主要是想用文本框包含的任何内容替换从数据库中获取的值:
<select name="Category" required class="form-control">
<option value="">Select...</option>
<%
While (NOT rsNtsC.EOF)
%>
<option value="<%=(rsNtsC.Fields.Item("NotesCategoryID").Value)%>"><%=(rsNtsC.Fields.Item("NotesCategory").Value)%></option>
<%
rsNtsC.MoveNext()
Wend
If (rsNtsC.CursorType > 0) Then
rsNtsC.MoveFirst
Else
rsNtsC.Requery
End If
%>
</select>
如果您正在寻找将 input
的值包含到 select
中的方法,请使用下面的代码。
但请记住,一旦页面重新加载,select
的值就会消失。
function MM_setTextOfTextfield(input) {
var count = $("select[name='Category'] option").length;
$("select[name='Category']").append("<option val=\"" + count + "\">" + $("#" + input).val() + "</option>")
$("#" + input).val("")
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button class="btn btn-info btn-sm" onClick="MM_setTextOfTextfield('categoryid')" data-toggle="modal" data-target="#AddNotesModal"><i class="fa fa-plus"></i> Add Notes
</button>
<input type="text" class="form-control" id="categoryid">
<select name="Category" required class="form-control">
<option value="">Select...</option>
</select>
好吧,你可以在输入字段上附加一个 'change' 侦听器,检测值何时更改并将带有值和文本的选项附加到你的 select,类似这样的东西(未测试但它应该有用,我现在很着急 ;-)):
$('#categoryid').on('change', function(){
var value = $(this).val();
$('select').append('<option value="' + value + '">' + value + '</option>');
});
或者如果你想在按钮点击时附加选项,你只需相应地更改侦听器,如下所示:
$('button').on('click', function(){
var value = $('#categoryid').val();
$('select').append('<option value="' + value + '">' + value + '</option>');
});
但要注意:当这些元素周围有一个表单标签时,您需要调用 e.preventDefault();如果您不希望浏览器每次都重新加载,请将 e 作为 function() 的参数...
我目前正在寻找以下值 (id="categoryid")...
<button class="btn btn-info btn-sm" onClick="MM_setTextOfTextfield('categoryid','','1')" data-toggle="modal" data-target="#AddNotesModal"><i class="fa fa-plus"></i> Add Notes
</button>
<input type="text" class="form-control" id="categoryid">
输入下面的选项值....
<select name="Category" required class="form-control">
<option value="">Select...</option>
<option value="______"><%=(rsNtsC.Fields.Item("NotesCategory").Value)%></option>
我该怎么做?如有必要,我愿意接受 jQuery、AJAX 和 javascript 解决方案。
非常感谢
编辑: 在我当前的设置中,使用 SQL 数据库中的一个值作为 ID 号,就像这样。我主要是想用文本框包含的任何内容替换从数据库中获取的值:
<select name="Category" required class="form-control">
<option value="">Select...</option>
<%
While (NOT rsNtsC.EOF)
%>
<option value="<%=(rsNtsC.Fields.Item("NotesCategoryID").Value)%>"><%=(rsNtsC.Fields.Item("NotesCategory").Value)%></option>
<%
rsNtsC.MoveNext()
Wend
If (rsNtsC.CursorType > 0) Then
rsNtsC.MoveFirst
Else
rsNtsC.Requery
End If
%>
</select>
如果您正在寻找将 input
的值包含到 select
中的方法,请使用下面的代码。
但请记住,一旦页面重新加载,select
的值就会消失。
function MM_setTextOfTextfield(input) {
var count = $("select[name='Category'] option").length;
$("select[name='Category']").append("<option val=\"" + count + "\">" + $("#" + input).val() + "</option>")
$("#" + input).val("")
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button class="btn btn-info btn-sm" onClick="MM_setTextOfTextfield('categoryid')" data-toggle="modal" data-target="#AddNotesModal"><i class="fa fa-plus"></i> Add Notes
</button>
<input type="text" class="form-control" id="categoryid">
<select name="Category" required class="form-control">
<option value="">Select...</option>
</select>
好吧,你可以在输入字段上附加一个 'change' 侦听器,检测值何时更改并将带有值和文本的选项附加到你的 select,类似这样的东西(未测试但它应该有用,我现在很着急 ;-)):
$('#categoryid').on('change', function(){
var value = $(this).val();
$('select').append('<option value="' + value + '">' + value + '</option>');
});
或者如果你想在按钮点击时附加选项,你只需相应地更改侦听器,如下所示:
$('button').on('click', function(){
var value = $('#categoryid').val();
$('select').append('<option value="' + value + '">' + value + '</option>');
});
但要注意:当这些元素周围有一个表单标签时,您需要调用 e.preventDefault();如果您不希望浏览器每次都重新加载,请将 e 作为 function() 的参数...