我的情况是,我有一个comb-Box,通过javascript动态地填充整数值。
问题是当我点击项目选择它时,它仍然没有被选中,点击该项目后,我需要再次点击组合框外才能选中它。我不知道为什么?
我这样做的代码是(它是内表):
<body onload="loadView();">
<table>
<tr>
<td>
<select id="mydropdown" name="mydropdown" onblur="comboItemselect(this)"></select>
</td>
</tr>
</table>
</body>
我如何填充组合中的项目是这样的:
function loadView()
{
var sel = document.getElementById('mydropdown') // find the drop down
for (i = 1; i <= 50; i++) { // loop through all elements
var opt = document.createElement("option"); // Create the new element
opt.value = i; // set the value
opt.text = i; // set the text
sel.appendChild(opt); // add it to the select
}
}
/*When an item is selcted from CoboBox*/
function comboItemselect(item)
{
var selectedItem = item.options[item.selectedIndex];
alert("selected item is : " +selectedItem);
}
我以前在wpf或任何其他应用程序中所做的是,我只是在combobox中单击要选择的项目,它就被选中了,但为什么我需要在项目上单击一次,然后在combobox外再次单击才能选中它呢?如何在组合框项目上单击一次来选择项目
你很接近了你需要做的就是改变
var selectedItem = item.options[item.selectedIndex];
到
var selectedItem = item.value;
对于任何元素,只需使用
<variable>.id
<variable>.value
至于外面的点击,这是因为你有模糊,这意味着在失去焦点之后。因此,它将在您单击选择框后调用该函数。您可以将其添加到.click函数中。JQuery更适合此操作,因为您可以执行<code>onClick</code>事件来初始化您的select,并且可以执行<code>onChange</code>事件来获取所选项目
将事件从onblur更改为onclick。它将正常工作
function loadView() {
var sel = document.getElementById('mydropdown') // find the drop down
for (i = 1; i <= 50; i++) { // loop through all elements
var opt = document.createElement("option"); // Create the new element
opt.value = i; // set the value
opt.text = i; // set the text
sel.appendChild(opt); // add it to the select
}
}
/*When an item is selcted from CoboBox*/
function comboItemselect(item) {
var selectedItem = item.options[item.selectedIndex];
alert("selected item is : " + selectedItem.value);
}
<body onload="loadView();">
<table>
<tr>
<td>
<select id="mydropdown" name="mydropdown" onchange="comboItemselect(this)"></select>
</td>
</tr>
</table>
</body>
所以,我有一个奇怪的问题,我从组合框列表中选择一个项目,为了填充第二个组合框,我必须首先从第一个组合框中再次选择单词,而不是从项目列表中,而是单词本身。只有这样,代码才会注册我选择了该项目。我拥有的代码是简单的$variable.SelectedItem。参见下面的代码; 我想做的就是从下拉列表中选择位置“医院”,然后第二个名为“$ComboBox_Printer”的组合框填充我服务器中的打印机名
这是我第二次发布相同的问题,直到现在都没有得到答案。 我有一个组合框,下面是商店(ExtJs 2.3) 组合存储: 分配 会议 工资 我在键上过滤组合,这样“薪水”项就不会显示在列表中,它工作正常。但是由于组合框项也可以通过键入iside combobox来选择,所以我在组合框的keyUp和beforeQuery上编写了以下代码。 这成功地过滤掉了“薪水”选项,但现在我无法像以前一样通过键入内部组
日安, 我希望我的组合框选择其中的第一个项目。我正在使用C#和WPF。我从DataSet读取数据。要填充组合框: 组合框XAML代码: 如果我尝试: 它不起作用。
我的HTML代码有一个div标记,其角色为combobox,即。 我试图通过selenium驱动程序和java从组合框中选择一个项目。 我尝试使用"选择"类推荐在这里:如何选择一个下拉值在Selenium WebDriver使用Java 但既然是div,我就错了 msgstr"未预料到的TagNameException:元素应该被选择,但被div" 我认为这是因为div role=“combobo
问题内容: 我们正在使用Selenium WebDriver和JBehave在我们的Web应用程序上运行“集成”测试。我有一种方法,可以在表单输入中输入一个值。 但是,当我尝试使用它在下拉列表中选择一个项目时,它(毫无疑问)失败了 java.lang.UnsupportedOperationException:您只能设置作为输入元素的元素的值 如何在组合中选择一个值? 问题答案: 这是怎么做的:
我在后台有< code>ViewModel(实现< code > INotifyPropertyChanged )和类< code>Category,它只有一个< code>string类型的属性。我的ComboBox SelectedItem绑定到类别的实例。当我更改instance的值时,SelectedItem没有更新,Combobox也没有更改。 编辑:代码 组合框: 物业: 我尝试的是: