[导入]Select的OnChange()事件

我们用Select的onchange事件时,常会遇到这样一个问题,那就是连续选相同一项时,不触发onchange事件.select的onchange事件就是这样子的.你得有Change(改变),才能触发该事件....

掌握了它的特性后,相应的解决办法也很简单.

<select οnchange="txt.value+=this.options[this.options.selectedIndex].value;this.options[0].selected=true;">
<option value="">请选择</option>
<option value="1">Item 1</option>
<option value="2">Item 2</option>
<option value="3">Item 3</option>
</select>
<textarea id="txt"></textarea>

<form><input id="FileUpload" type="file" style="width:448px; height: 22px;" οnchange="FileUpload_onselect()" >
<input name="TbxName" id="TbxName">
<input name="Tbx_FileName" id="Tbx_FileName">
</form>
<script type="text/javascript" language="javascript">   
function FileUpload_onselect()
{
  var path;
  path = document.forms[0].FileUpload.value; //C:\Documents and Settings\hud\桌面\AddFile.jpg
  var aa;
  aa = path.split('.');
  document.all('TbxName').value = aa[aa.length - 1]; //jpg 结果
  var name;
  name = path.split('\\');
  var bb = name[name.length - 1];
  document.all('Tbx_FileName').value = bb.substr(0, bb.indexOf('.')); //AddFile 结果
}
</script>


文章来源: http://Jorkin.Reallydo.Com/default.asp?id=564

转载于:https://www.cnblogs.com/pboy2925/archive/2009/01/03/1378393.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这个问题可能是因为上传组件和 Select 组件在同一个 div 内,导致点击 Select 组件的时候触发了上传组件的点击事件。可以尝试将 Upload 组件和 Select 组件分别放在不同的 div 中,以便避免这个问题的发生。 以下是一个示例代码,演示如何将 Upload 组件和 Select 组件放在不同的 div 中: ```jsx import { Upload, Select } from 'antd'; import { UploadOutlined } from '@ant-design/icons'; const { Option } = Select; class FileUploader extends React.Component { state = { fileList: [], }; handleUpload = (info) => { let fileList = [...info.fileList]; fileList = fileList.slice(-10); // 只展示最近上传的10个文件 fileList = fileList.map(file => { if (file.response) { // 服务器返回的响应中包含了文件的下载链接 file.link = file.response.link; } return file; }); this.setState({ fileList }); }; render() { const { fileList } = this.state; return ( <div> <div> <Upload action="/upload" beforeUpload={(file) => { const isJpgOrPng = file.type === 'image/jpeg' || file.type === 'image/png'; if (!isJpgOrPng) { message.error('只能上传 JPG/PNG 格式的图片!'); } const isLt2M = file.size / 1024 / 1024 < 2; if (!isLt2M) { message.error('文件大小不能超过 2MB!'); } return isJpgOrPng && isLt2M; }} onChange={this.handleUpload} fileList={fileList} > <Button icon={<UploadOutlined />}>上传文件</Button> </Upload> </div> <div> <Select mode="multiple" style={{ width: '100%' }} placeholder="请选择要下载的文件" > {fileList.map(file => ( <Option key={file.uid} value={file.link}> {file.name} </Option> ))} </Select> </div> </div> ); } } ``` 在上面的代码中,我们将 Upload 组件和 Select 组件分别放在了两个 div 中,以便避免它们之间的点击事件冲突。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值