dojo.connectwithdojox.form.DropdownSelect
嗨,我的剃须刀窗体上有3个控件。1个组合框,2个下拉框选择3个文本输入。 首先,我从Combobox中选择value,并因此向DropdownSelect添加选项。在我从DropdownSelect中选择一个值后,我想启用或禁用第三个输入框 当我在第一个组合框中选择一个值时,我能够填充第二个下拉选择。但我无法根据第二个下拉值的变化启用或禁用第三个输入框 下面是示例代码dojo.connectwithdojox.form.DropdownSelect,dojo,Dojo,嗨,我的剃须刀窗体上有3个控件。1个组合框,2个下拉框选择3个文本输入。 首先,我从Combobox中选择value,并因此向DropdownSelect添加选项。在我从DropdownSelect中选择一个值后,我想启用或禁用第三个输入框 当我在第一个组合框中选择一个值时,我能够填充第二个下拉选择。但我无法根据第二个下拉值的变化启用或禁用第三个输入框 下面是示例代码 <input type="text" dojoType="dijit.form.ComboBox" style="marg
<input type="text" dojoType="dijit.form.ComboBox" style="margin-top: 5px;" class="left" store="regionStore" queryExpr="${0}" hasDownArrow="true"
searchAttr="text" labelAttr="name" title="Region" id="Plan_RegionName" jsId="Plan_RegionName" name="Plan.RegionName" required="true" placeholder="None" ignoreCase="true" />
<select name="Plan.PlanType" id="Plan_PlanType" title="Plan Type" dojoType="dojox.form.DropDownSelect" required="true" maxHeight="125" labelwidth="185px" style="width: 180px">
<option value="" selected="selected">-- Select One --</option>
<option value="Trial">Trial</option>
<option value="PerUser">Per User</option>
<option value="PerUnit">Per Unit</option>
<option value="Reseller">Reseller</option>
<option value="Other">Other</option>
</select>
<div dojoType="dijit.form.ValidationTextBox" style="width: 180px; margin-top: 5px;" id="Plan_Name" title="Plan Name" name="Plan.Name" required="true"
missingMessage="This value is required" promptMessage="Enter a value" value="">
<script text/type="javascript">
dojo.addOnLoad(function () {
dojo.connect(Plan_RegionName, "onChange", Plan_RegionName, function (evt) {
alert("Combo box Changed!");
});
dojo.connect(Plan_PlanType, "onChange", Plan_PlanType, function (evt) {
alert("Dropdown Changed!");
});
});
</script>
我会收到Combox框更改的警告消息,但不会收到下拉列表更改的警告消息
任何想法。请给我一些建议
谢谢,
Vivek由于Plan_PlantType是一个dojox.form,您应该能够检查它是否“有效”,以启用最后一个文本框。比如说:
if(dojo.byId("Plan_PlanType").validate()){
dojo.byId("Plan_Name").set("enabled", true);
}
但是,您可能需要将其包装在dojo.connect函数中 我使用了Selectbox的onChange事件。 这是一个例子
<select name="@name" id="@id" title="@ViewData.ModelMetadata.GetDisplayName()" onChange="enablePlanname(this.getValue())" dojoType="dijit.form.ComboBox" required="true" maxHeight="125" style="width: 180px; margin-top: 5px;">
@if (String.IsNullOrEmpty(Model))
{
<option value="" selected="selected">-- Select One --</option>
}
@foreach (CurrencyType bt in Enum.GetValues(typeof(CurrencyType)))
{
bool selected = false;
if (bt.ToString() == Model)
{
selected = true;
}
<option value="@bt.ToString()"@(selected ? " selected=\"selected\"" : "")>@bt.GetDisplayName()</option>
}
</select>
<script type="text/javascript">
function enablePlanname(value) {
var CurrentTextBox = dijit.byId('Region_Currency');
if (value == "other") {
CurrentTextBox.set("disabled", false);
}
else {
CurrentTextBox.set("disabled", true);
}
}
</script>
谢谢您的帮助。我如何将其包装到Dojo.connect中?与此类似,dojo.connectPlan_PlanType、onChange、Plan_PlanType、函数evt{if dojo.byIdPlan_PlanType.validate{alerthi;//dojo.byIdPlan_Name.setenabled,true;};