如果您想了解无法使用 JavaScript 从 Select 中获取选项值的相关知识,那么本文是一篇不可错过的文章,我们将对js无法调用进行全面详尽的解释,并且为您提供关于how to show new select input only when select specific option and when select another options don't show by jquery?拉拉维尔、Insert Into select 与 Select Into 哪个更快?、Javascript 创建 select 以及获取 select 的值、文本;获取 radio,check 的值、MyBatis~ 关联的嵌套 Select 查询和关联的嵌套结果映射 (association 元素的使用)、集合的嵌套 Select 查询和集合的嵌套结果映射 (collection 的使用)的有价值的信息。
<optionvalue="9AAC910006">Low Voltage Products and Systems</option>
<optionvalue="9AAC910019">Measurement and Analytics</option>
<optionvalue="9AAC173060">Mechanical Power Transmission</option>
<optionvalue="9AAC720001">Medium Voltage Products and Systems</option>
<optionvalue="9AAC133417">Motors and Generators</option>
<optionvalue="9AAC177033">PLC Automation</option>
<optionvalue="9AAC910011">Robotics</option>
<optionvalue="9AAC171541">Softstarters</option>
</select>
how to show new select input only when select specific option and when select another options don't show by jquery?拉拉维尔
如何解决how to show new select input only when select specific option and when select another options don''t show by jquery?拉拉维尔
i''m trying to show new select input contains (states) options,when user select specific option a (USA) country,and when select another country non (USA) don''t show the states select options i want in this案件仍然隐藏。
在您的 inputCountry 选择框中,我假设 {{ $country->name }} 是国家/地区名称,因此您可以使用 $(this).find("option:selected").text() 获取此值,然后将其与 USA 进行比较(如果它们是)等于显示你的 div 否则隐藏它。
演示代码:
$(''#inputCountry'').change(function() {
var id = $(this).val();
var text = $(this).find("option:selected").text().trim() //get text
if (text == "USA") {
$(''#stateShow'').show(); //show
$(''#inputState'').find(''option'').not('':first'').remove();
//your ajax call put here ....
} else {
$(''#stateShow'').hide(); //hide
}
});
在平常数据库操作的时候,我们有时候会遇到表之间数据复制的情况,可能会用到INSERT INTO SELECT 或者 SELECT INTO ;
那么二者语法上有什么区别?性能上又如何呢?
围绕着这两个问题,今天就来总结对比下:
一:语法区别
1: INSERT INTO SELECT 的语法
INSERT INTO SELECT 语句从一个表复制数据,然后把数据插入到一个已存在的表中。目标表中任何已存在的行都不会受影响。
如果两个表的结构一致,字段类型一致:
INSERT INTO table2
SELECT * FROM table1;
如果两个表结构不一致,只有某几列一致:
INSERT INTO table2 (column_name)
SELECT column_name FROM table1;
2:SELECT INTO 的语法
SELECT INTO 语句从一个表复制数据,然后把数据插入到另一个新表中。
如果想要复制所有的列:
SELECT *
INTO newtable
FROM table1;
如果想要复制部分的列:
SELECT column_name
INTO newtable
FROM table1;
提示:新表将会使用 SELECT 语句中定义的列名称和类型进行创建。如果想要修改字段的名称,可以使用 AS 子句来应用新名称。
二:性能区别
----创建一个基础数据库
CREATE TABLE TestDataTable(
id int not null,
userName varchar(20),
remark varchar(100)
)
----填充100W测试数据
DECLARE @id INT,@userName NVARCHAR(50),@remark NVARCHAR(50);
DECLARE @i INT;
SET @id=0;
SET @userName ='''';
SET @remark='''';
SET @i=0;
WHILE @i<1000000
BEGIN
SET @id=@i;
IF(@i%2=0)
begin
set @userName=''二狗子'';
set @remark=''SELECT INTO 最快!''
end
else
begin
set @userName=''李四'';
set @remark=''快你妹,INSERT INTO 最快''
end
INSERT INTO TestDataTable(id,username,remark)
VALUES (@id,@username,@remark )
SET @i=@i+1
END
--查询填充后的数据
SELECT * FROM TestDataTable --删除表结构以及数据【慎用】
DROP Table TestDataTable
耗时1分钟58秒,数据填充好了,真是不给力,竟然用了快2分钟;
好了,在去创建一个目标数据库;
--创建一个目标数据库,把100W数据复制到这个里面取
CREATE TABLE TargetDB(
id int not null,
userName varchar(20),
remark varchar(100)
)
测试1:INSERT INTO SELECT
SET STATISTICS TIME ON
INSERT INTO TargetDB
SELECT *
FROM TestDataTable
GO
SET STATISTICS TIME OFF
测试2:SELECT INTO
SET STATISTICS TIME ON
SELECT *
INTO TargetDB
FROM TestDataTable
GO
SET STATISTICS TIME OFF
三:结论
经过上面的对比,可以看出SELECT INTO 的性能要比INSERT INTO 快出不少;
虽然SELECT INTO 数据的导入速度有很大优势,但是也有不好的地方,就是此语句只能在目标表没有创建的情况下使用,如果目标表结构已经存在,就会提示数据库中已存在名为 ''TargetDB'' 的对象(如下图),此时就只能用INSERT INTO SELECT 方式去操作了。
<selectid="selectStudent2"resultMap="studentTeacher2">
select s.id sid, s.name sname, t.name tname from student s, teacher t where s.tid=t.id;</select><resultMapid="studentTeacher2"type="student"><resultcolumn="sid"property="id"/><resultcolumn="sname"property="name"/><associationproperty="teacher"javaType="teacher"><resultcolumn="tname"property="name"/></association></resultMap>
使用这个代码易懂,但是 sql 语句会变得复杂
一开始我们便使用很长的 sql 语句建立老师和学生的连接将所有信息查询出来
所以在 resultmap 中我们只需要将这些信息进行结果映射即可,但是要注意引用类型的结果映射还得在 association 元素内使用,还需指定返回的类型
<selectid="getClassRoom2"parameterType="_int"resultMap="classRoomMap2">
select s.id sid, s.name sname, t.id tid, t.name tname from student s, teacher t where s.tid=t.id and t.id=#{
tid};</select><resultMapid="classRoomMap2"type="classRoom"><resultcolumn="tid"property="tid"/><resultcolumn="tname"property="tname"/><collectionproperty="students"javaType="ArrayList"ofType="student"><resultcolumn="sid"property="id"/><resultcolumn="sname"property="name"/></collection></resultMap>
如果是集合类型,使用 collection, 注明属性名称,注明 javatype 类型,和集合类型里面的泛型类型 oftype, 然后在里面 result 值即可.
注意点:
保证 sql 的可读性,尽量保证通俗易懂
注意多对一和一对多中属性名和字段名的匹配问题,多用于日志
关于无法使用 JavaScript 从 Select 中获取选项值和js无法调用的介绍现已完结,谢谢您的耐心阅读,如果想了解更多关于how to show new select input only when select specific option and when select another options don't show by jquery?拉拉维尔、Insert Into select 与 Select Into 哪个更快?、Javascript 创建 select 以及获取 select 的值、文本;获取 radio,check 的值、MyBatis~ 关联的嵌套 Select 查询和关联的嵌套结果映射 (association 元素的使用)、集合的嵌套 Select 查询和集合的嵌套结果映射 (collection 的使用)的相关知识,请在本站寻找。