多选可以弹出一个新窗口点击选项一个接一个
问题描述:
我有一个要求弹出一个网址点击多个选择选项一个接一个。这意味着当我点击一个选项时,它应该弹出一个新窗口,用户可以在其中提交一些数据并返回到之前的HTML窗口。现在用户可以再次选择一个选项(Ctrl +单击),它应该打开一个新的弹出窗口。但弹出网址包含选项的值。多选可以弹出一个新窗口点击选项一个接一个
<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();
}
}
}
}
但它不是以期望的方式工作。每次它在脚本中传递先前选择的选项值。
答
我试着绕过正确选择的选项,我发现它没有错。
如果你通过Google Chrome工具调试并在
var FldSelVel = sel.value;
行,你应该能够询问值添加一个断点。
更新
多选择可如果你需要触发点击就可以使用jQuery
事件遍历选项,并测试其选择的值for (x=0;x< sel.options.length;x++)
{
if(sel.options[x].selected)
{
alert(sel.options[x].value);
}
}
被检测
$('#FldSel').on('change', function() {
var value = $(this).val();
alert(value);
});
而不是th e提醒你现在可以把这个呼叫显示出来。
问题在于多重选择选项。当我选择多个值时,它始终传递第一个选定的值。 –