peymannaji
جمعه 27 فروردین 1389, 14:26 عصر
با سلام
کدی که اینجا قرار دادم کارش این هست که وقتی تو تکست باکس نوشته میشه با هر space کلمه قبل رو به یک لیست باکس اضافه کنه . مشکل اینجاست که حتما برای آخرین کلمه ای که شما تایپ میکنید یک space باید زده بشه وگرنه وارد لیست نمیشه .
لطفا راهنمایی فرمائید .
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script src="Scripts/jquery-1.3.2-vsdoc.js" type="text/javascript"></script>
<script src="Scripts/jquery-1.3.2.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function () {
var arr = new Array();
var count = -1;
var first = false;
var firstValue;
var chars;
$("#txt").keyup(function (e) {
firstValue = $.trim($("#txt").val());
if (e.keyCode == 32 && firstValue == "") {
$("#txt").val("");
return;
}
if (e.keyCode == 32 && firstValue != "") {
count += 1;
first = true;
chars = Textsplitter();
arr[count] = chars[count];
$("#Hidden1").val(chars[count]);
}
if (!first) {
if ($("#ListBox1").find("option").length == 0) {
$("#ListBox1").append(new Option("", ""));
}
var rows = $("#ListBox1").children("option");
rows[0].text = $("#txt").val();
rows[0].value = $("#txt").val();
}
else {
if ($("#ListBox1").find("option").length == count) {
$("#ListBox1").append(new Option("", ""));
}
var rows = $("#ListBox1").children("option");
rows[count].text = $("#Hidden1").val();
rows[count].value = $("#Hidden1").val();
}
});
});
function Textsplitter() {
return $("#txt").val().split(" ");
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<p>
<asp:TextBox ID="txt" runat="server" Width="362px"></asp:TextBox>
</p>
<p>
<asp:ListBox ID="ListBox1" runat="server">
</asp:ListBox>
</p>
<p>
</p>
<input id="Hidden1" type="hidden" /></div>
</form>
</body>
</html>
کدی که اینجا قرار دادم کارش این هست که وقتی تو تکست باکس نوشته میشه با هر space کلمه قبل رو به یک لیست باکس اضافه کنه . مشکل اینجاست که حتما برای آخرین کلمه ای که شما تایپ میکنید یک space باید زده بشه وگرنه وارد لیست نمیشه .
لطفا راهنمایی فرمائید .
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script src="Scripts/jquery-1.3.2-vsdoc.js" type="text/javascript"></script>
<script src="Scripts/jquery-1.3.2.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function () {
var arr = new Array();
var count = -1;
var first = false;
var firstValue;
var chars;
$("#txt").keyup(function (e) {
firstValue = $.trim($("#txt").val());
if (e.keyCode == 32 && firstValue == "") {
$("#txt").val("");
return;
}
if (e.keyCode == 32 && firstValue != "") {
count += 1;
first = true;
chars = Textsplitter();
arr[count] = chars[count];
$("#Hidden1").val(chars[count]);
}
if (!first) {
if ($("#ListBox1").find("option").length == 0) {
$("#ListBox1").append(new Option("", ""));
}
var rows = $("#ListBox1").children("option");
rows[0].text = $("#txt").val();
rows[0].value = $("#txt").val();
}
else {
if ($("#ListBox1").find("option").length == count) {
$("#ListBox1").append(new Option("", ""));
}
var rows = $("#ListBox1").children("option");
rows[count].text = $("#Hidden1").val();
rows[count].value = $("#Hidden1").val();
}
});
});
function Textsplitter() {
return $("#txt").val().split(" ");
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<p>
<asp:TextBox ID="txt" runat="server" Width="362px"></asp:TextBox>
</p>
<p>
<asp:ListBox ID="ListBox1" runat="server">
</asp:ListBox>
</p>
<p>
</p>
<input id="Hidden1" type="hidden" /></div>
</form>
</body>
</html>