PDA

View Full Version : رفع اشکال برنامه



peymannaji
جمعه 27 فروردین 1389, 13: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>
&nbsp;</p>
&nbsp;<input id="Hidden1" type="hidden" /></div>
</form>
</body>
</html>

mehdi.mousavi
سه شنبه 07 اردیبهشت 1389, 13:41 عصر
با سلام
کدی که اینجا قرار دادم کارش این هست که وقتی تو تکست باکس نوشته میشه با هر space کلمه قبل رو به یک لیست باکس اضافه کنه . مشکل اینجاست که حتما برای آخرین کلمه ای که شما تایپ میکنید یک space باید زده بشه وگرنه وارد لیست نمیشه .

سلام.
انتظار دارید از کجا بشه آخرین کلمه رو تشخیص داد؟ در واقع برنامه از کجا متوجه بشه که شما دیگه قرار نیست کلمات بیشتری تایپ کنید؟

موفق باشید.

peymannaji
سه شنبه 07 اردیبهشت 1389, 14:22 عصر
مهدي جان مشكل رو حل كردم كل كدها رو هم تغيير دادم و كمي مسئله رو ساده تر ديدم . و از رويداد keyup استفاده كردم . كه در هر شكل آخرين كاراكتر ورودي به عنوان آخرين كاراكتر در نظر گرفته بشه و بعدش ديگه يك سري داستان ديگه .