在我的html模板中,
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var subConfigsSchema = new Schema({
alias: String,
value: String,
position: Number
}, {_id: false});
var configsSchema = new Schema({
bfq: [subConfigsSchema],
qpa: [subConfigsSchema],
fmb: [subConfigsSchema],
cz: [subConfigsSchema]
}, {_id: false});
var instrumentSchema = new Schema({
_id: {
type: Schema.Types.ObjectId,
required: true,
auto: true
},
configs: {
type: configsSchema,
required: true
}
},
{
strict: false,
versionKey: false
});
module.exports = mongoose.model('Instrument', instrumentSchema)
标记中有一组选项。一个特定的选项允许您在输入文本字段中输入自定义类别名称。
现在,一旦单击“提交”按钮,就无法在输入字段中获取值(如果在其中输入了值)。
以下是HTML
Instrument.find({_id: '5c9b3747407939296c5af1da'}, function(err, data) {
if (err) throw err;
instrument = data[0];
console.log(instrument);
console.log(instrument._id);
console.log(instrument.inpname);
console.log(Instrument['inpname']);
});
和<select>
字段:
<select>
在<input>
中,我只想在屏幕上显示选定/键入的类别值作为警报消息。
{% for index in list %}
<select name="browser" id="select_id{{index}}" onchange="if(this.options[this.selectedIndex].value=='customOption'){toggleField(this,this.nextSibling); this.selectedIndex='0';}">
<option value="0">---- select ----</option>
<option value="customOption">[enter your own custom category]</option>
<option value="Chrome">Chrome</option>
<option value="Firefox">Firefox</option>
<option value="Internet Explorer">Internet Explorer</option>
<input name="browser" id="input_id{{index}}" type="text" disabled="disabled" onblur="if(this.value==''){toggleField(this,this.previousSibling);}">
</select>
<!-- SUBMIT BUTTON TO INVOKE add_category() javascript method -->
<button type="button" onclick="add_category('select_id{{index}}', 'input_id{{index}}');">SUBMIT</button>
{% endfor %}
但是,输入或所选类别值中没有返回任何值。
答案 0 :(得分:2)
您可以使用以下代码段检索select的值,这将对您有所帮助。
var mySelect = $('select[name=browser');
var conceptName = mySelect.find(":selected").text();
console.log(conceptName)
可执行代码段位于下面的代码Pen URL中 https://codepen.io/redhatvicky/pen/RdzEGW
答案 1 :(得分:0)
function add_category(select_id, input_id){
if($("#"+select_id+"").val()=='0')
{
alert("Please select a valid category");
}
else if($("#"+select_id+"").val()=='customOption')
{
var i = $("#"+input_id+"").val();
alert("INPUT CATEGORY: ,"+i);
}
else
{
var s = $("#"+select_id+"").val();
alert("SELECTED CATEGORY: ,"+ s);
}
}
});
答案 2 :(得分:0)
这甚至不是有效的html,Chrome会将输入呈现在选择范围之外。
将输入放置在选择之外。
<select>
<option>Select</option>
<input type="text">
</select>
答案 3 :(得分:0)
输入不是有效的html。 您必须创建一个带有内部输入的自定义下拉列表,而不是使用默认的select而是使用ul,li这样的元素。