多选可逐个单击选项弹出一个新窗口
Multiple select to popup a new window on clicking options one by one
我有一个要求,一个接一个地点击多个选择选项,弹出一个url。这意味着当我点击一个选项时,它会弹出一个新窗口,用户可以在其中提交一些数据并返回到以前的html窗口。现在,用户可以再次选择一个选项(按住Ctrl键并单击),它应该会打开一个新的弹出窗口。但是弹出的url包含option的值。
<select multiple="multiple" id="FldSel" name="FldSel" size=15 onchange="callInstrumentField();" >
<option isred= "A" value="1">1</option>
<option isred= "A" value="2">2</option>
<option isred= "A" value="3">3</option>
<option isred= "A" value="4">4</option>
</select>
//Javascript函数是:
function callInstrumentField()
{
var url;
var w;
var InstAct;
var InstName = document.ATTForm.instname.value.replace(/'s/gi,"");
var sel = document.getElementById('FldSel');
var selected = sel.options[sel.selectedIndex];
var FldSelVel = sel.value;
var FldType = selected.getAttribute("isred");
var x2 = document.ATTForm.InstrAction.value;
if(InstName=="")
{
alert("Please Enter Instrument Name");
document.getElementById("instname").focus();
return false;
}
else{
if(x2=="UPDATE")
{
InstAct= 'SELECT';
}
else
{
InstAct=x2;
}
//var x2="SELECT";
if (FldType == "Dropdown")
{
url = '?func=lsdms.ViewInstrumentFldSel&InstrAction='+InstAct+'&InstruMntNo='+FldSelVel;
w = window.open(url,"","height=340,width=680,scrollbars=yes,resizable=yes,menubar=no,toolbar=yes,status=yes");
if ( w.focus )
{
w.focus();
}
}
}
}
但它并没有以预期的方式发挥作用。每次它在脚本中传递以前选择的选项值时。
我试过你的代码来获得正确选择的选项,但我没有发现任何问题。
如果您通过chrome工具进行调试并在上添加断点
var FldSelVel = sel.value;
行中,您应该能够查询值。
更新
多选可以通过迭代选项并测试其选定值来检测
for (x=0;x< sel.options.length;x++)
{
if(sel.options[x].selected)
{
alert(sel.options[x].value);
}
}
如果你需要在点击时触发事件,你可以使用jQuery
$('#FldSel').on('change', function() {
var value = $(this).val();
alert(value);
});
您现在可以拨打电话来显示弹出窗口,而不是发出警报。
相关文章:
- 如何打开一个新窗口或选项卡,并将其提供给javascript执行
- window.open:是否可以通过修改DOM来打开一个新窗口
- 打开一个新窗口并更改其父窗口'的内容
- 在Firefox restartless插件中,当一个新窗口打开时,我如何运行代码(监听窗口打开)
- 打开一个新窗口并平铺生成的窗口
- 从dhtmlxgrid打开一个新窗口,避免弹出窗口阻塞
- 使用body-onload打开一个新窗口
- 共享这将在一个新窗口中打开facebook共享
- 如何发布到URL并打开一个新窗口以显示pdf格式的响应
- 是否可以打开一个新窗口并将iframe嵌入其中
- 显示模态对话;在 IE 中打开一个新窗口
- 用JavaScript打开一个新窗口,然后关闭前一个窗口
- 如何在
- window.open 会打开一个新标签页,而不是一个新窗口(在 chrome 中)
- Javascript 打开一个新窗口并更改标题文本
- 为链接打开一个新窗口,但希望下一页仍在“主体”框架中
- 使用 java 打开一个新窗口
- NodeJS Passport - 如何打开一个新窗口进行身份验证
- JavaScript:window.location不会在所有浏览器上打开一个新窗口
- 每次点击时都会打开一个新窗口以获取链接