我有一个12 texbox,我有一个验证,你只能输入数字1到10,我想要的是如果我在第一个文本框输入1你不能输入它的数字第二个文本框和其他文本框,当您在其他文本框中输入2或3或4或5或10时,您不能再使用该数字,因为它已经插入剩余的文本框中,否则该数字将转移到其他剩余的文本框,所以1-10个数字值将被占用12个texbox中的10个texbox中没有重复,你不能输入其他2个文本框,因为数字1-10被占用,有人可以帮助我.....我使用一个Asp.net。 vb.net代码的要求..
<div class="container">
<p>d. Suppose that there is 12 fields of question Please rank only them from 1 - 10 .</p>
<div class="alert alert-success">
<div class="row">
<div class="col-sm-8" >
<table>
<tr>
<td>
<asp:RangeValidator ID="RangeValidator1" CssClass="Validators" Display="Dynamic"
MinimumValue="1" MaximumValue="10" Type="Integer" ControlToValidate="Textbox37"
runat="server" ErrorMessage="Input digits 1 to 10" ForeColor="Red"></asp:RangeValidator>
</td>
</tr>
<tr>
<td>
<asp:Textbox ID="Textbox1" runat="server" style="text-align:center" onkeypress="return IsNumeric8(event);" ondrop="return false;" onpaste="return false;" Height="20px" MaxLength="2" Width="22px" />
<asp:Label ID="Label2" runat="server" CssClass="control-label" Text="I love the place" />
</td>
</tr>
<tr>
<td>
<asp:Textbox ID="Textbox2" runat="server" style="text-align:center" onkeypress="return IsNumeric8(event);" ondrop="return false;" onpaste="return false;" Height="20px" MaxLength="2" Width="22px" />
<asp:Label ID="Label2" runat="server" CssClass="control-label" Text="the business location is great"/>
</td>
</tr>
<tr>
<td>
<asp:Textbox ID="Textbox3" runat="server" style="text-align:center" onkeypress="return IsNumeric8(event);" ondrop="return false;" onpaste="return false;" Height="20px" MaxLength="2" Width="22px" />
<asp:Label ID="Label3" runat="server" CssClass="control-label" Text="Im gettin out of time"/>
</td>
</tr>
<tr>
<td>
<asp:Textbox ID="Textbox4" runat="server" style="text-align:center" onkeypress="return IsNumeric8(event);" ondrop="return false;" onpaste="return false;" Height="20px" MaxLength="2" Width="22px" />
<asp:Label ID="Label4" runat="server" CssClass="control-label" Text="My life is consumed." />
</td>
</tr>
<tr>
<td>
<asp:Textbox ID="Textbox5" runat="server" style="text-align:center" onkeypress="return IsNumeric8(event);" ondrop="return false;" onpaste="return false;" Height="20px" MaxLength="2" Width="22px" />
<asp:Label ID="Label5" runat="server" CssClass="control-label" Text="the work place is unstable" />
</td>
</tr>
<tr>
<td>
<asp:Textbox ID="Textbox6" runat="server" style="text-align:center" onkeypress="return IsNumeric8(event);" ondrop="return false;" onpaste="return false;" Height="20px" MaxLength="2" Width="22px" />
<asp:Label ID="Label6" runat="server" CssClass="control-label" Text="Opportunity to work is great" />
</td>
</tr>
<tr>
<td>
<asp:Textbox ID="Textbox7" runat="server" style="text-align:center" onkeypress="return IsNumeric8(event);" ondrop="return false;" onpaste="return false;" Height="20px" MaxLength="2" Width="22px" />
<asp:Label ID="Label7" runat="server" CssClass="control-label" Text="I love the salary" />
</td>
</tr>
<tr>
<td>
<asp:Textbox ID="Textbox8" runat="server" style="text-align:center" onkeypress="return IsNumeric8(event);" ondrop="return false;" onpaste="return false;" Height="20px" MaxLength="2" Width="22px" />
<asp:Label ID="Label8" runat="server" CssClass="control-label" Text="My superior is not ok"/>
</td>
</tr>
<tr>
<td>
<asp:Textbox ID="Textbox9" runat="server" style="text-align:center" onkeypress="return IsNumeric8(event);" ondrop="return false;" onpaste="return false;" Height="20px" MaxLength="2" Width="22px" />
<asp:Label ID="Label9" runat="server" CssClass="control-label" Text="I had so many vacant time"/>
</td>
</tr>
<tr>
<td>
<asp:Textbox ID="Textbox10" runat="server" style="text-align:center" onkeypress="return IsNumeric8(event);" ondrop="return false;" onpaste="return false;" Height="20px" MaxLength="2" Width="22px" />
<asp:Label ID="Label10" runat="server" CssClass="control-label" Text="I don't like to waste time in idle hours" />
</td>
</tr>
<tr>
<td>
<asp:Textbox ID="Textbox11" runat="server" style="text-align:center" onkeypress="return IsNumeric8(event);" ondrop="return false;" onpaste="return false;" Height="20px" MaxLength="2" Width="22px" />
<asp:Label ID="Label11" runat="server" CssClass="control-label" Text="These is the place you want to be" />
</td>
</tr>
<tr>
<td>
<asp:Textbox ID="Textbox12" runat="server" style="text-align:center" onkeypress="return IsNumeric8(event);" ondrop="return false;" onpaste="return false;" Height="20px" MaxLength="2" Width="22px" />
<asp:Label ID="Label12" runat="server" CssClass="control-label" Text="I'm having a hard time on these!" />
</td>
</tr>
</table>
</div>
</div>
</div>
</div>
.....有人可以帮助我我这样做了一个星期我无法找到答案我的生活被消费而没有做其他事情只是为了得到这个请帮助我....
答案 0 :(得分:0)
这是工作解决方案,我测试了它。
步骤1:为所有文本框添加一个css类(可以是一个虚拟css类,只是为了标记文本框),比如
<asp:Textbox ID="Textbox1" runat="server" style="text-align:center" Height="20px" MaxLength="2" Width="22px" CssClass="txtclass" />
<asp:Textbox ID="Textbox2" runat="server" style="text-align:center" Height="20px" MaxLength="2" Width="22px" CssClass="txtclass" />
的JavaScript
$(".txtclass").blur(function () {
isDuplicateValue(); // You can call this function on a button click
textboxesToggle();
})
function textboxesToggle() {
var boxesWithValue = $('.txtclass').filter(function () { return this.value != '' });
if (boxesWithValue.length == 10) {
var emptyboxes = $('.txtclass').filter(function () { return this.value == '' });
$(emptyboxes).attr("disabled", "disabled");
}
else {
$(".txtclass").removeAttr("disabled");
}
}
function isDuplicateValue() {
var arr = [];
var i = 0;
//store values in array
$(".txtclass").each(function () {
if ($(this).val() != '') {
arr[i++] = $(this).val();
}
})
console.log(arr);
var sortedArray = arr.sort();
//check for duplicates
var duplicates = [];
for (var i = 0; i < sortedArray.length - 1; i++) {
if (sortedArray[i + 1] == sortedArray[i]) {
duplicates.push(sortedArray[i]);
}
}
if (duplicates.length > 0) {
var dup = 'duplicates found: ';
for (var i = 0; i < duplicates.length; i++)
dup += duplicates[i] + ' , ';
alert(dup);
}
}