مشکل محاسباتی در فیلد ها پی اچ پی - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

مشکل محاسباتی در فیلد ها پی اچ پی

0 امتیاز
سلام من 5 تا فیلد دارم سه تای اولش سلکت هستند که
اولیش گروه کالاها رو انتخاب میکنی (از دیتابیس)
دومیش بعد از انتخاب گروه نامهای مربوط به گروه مورد نظر را انتخاب میکنه (یک نام رو میشه انتخاب کرد)
سومیش قیمت کالای مورد نظر را نشون میده به طور اتوماتیک بعد از انتخاب نام
حالا در فیلد بعدی تعداد رو داریم که یک تکس باکس هست
بعد از وارد کردن تعداد مثلا هرچی مثلا 3 تا میخام این عدد در قیمت ضرب بشه و در فیلد پنجم که یک تکس باکس هست به طور اتوماتیک نمایش داده شود
الان من سه تای اولیش درسته اما نمیدونم چجوری توی فیلد پنجم اون تعداد رو در قیمت ضرب کنم ؟
و در فیلد پنجم نمایش بدم
سوال شده دی 21, 1392  بوسیله ی 12mory (امتیاز 36)   4 6 9
دوست عزیز کدتون رو قرار میدادید اینجوری که نمیشه کمکی کرد جز اینکه بگیم از Ajax استفاده کنید :)

3 پاسخ

+1 امتیاز
 
بهترین پاسخ

اینجوری:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
     
    <script type="text/javascript" src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
     
 
      
  
      
    </head>
    <body>
    gheymat: 
	<select id="price">
		<option value="1000">1000</option>
		<option value="2000">2000</option>
		<option value="3000">3000</option>
		<option value="4000">4000</option>
		<option value="5000">5000</option>
		<option value="6000">6000</option>
		<option value="7000">7000</option>
		<option value="8000">8000</option>
		<option value="9000">9000</option>
	</select>	
     
    tedad: <input type="text" id="number">
    jaam: <input type="text" id="jam">
    filed3: <input type="text" id="f3"> 
    filed4: <input type="text" id="f4"> 
    ....
    <div is="dv1">
        <script type="text/javascript">
    function calc()
    {
        $("#jam").val($("#price").val() * $("#number").val());
    }
     $("#price").change(function cal(){ calc(); });
     $("#number").keyup(function cal(){ calc(); });
    </script>
    </body>
</html>

خیلی سادست یکم بیشتر دقت کنید

پاسخ داده شده دی 26, 1392 بوسیله ی dousti91 (امتیاز 405)   1 2 9
انتخاب شد دی 28, 1392 بوسیله ی 12mory
واقعا ممنون من یه چیزی یاد گرفتم از این کد واسه همین بهترین پاسخ زدم اما همچنان مشکلم حل نشده و هر چی توی تعداد وارد کنم دو برابر میکنه و در جمع نشون میده
توجه کنید که در کدی که من در اول صفحه گذاشتم سه تا سلکت گروه کالا و نام کالا و قیمت را به وسیله دوتا کد جاوا اسکریپت که در هدش هست که در بالا موجوده اوردم (از دیتابیس)
اگر میشه یه راه بیارید که وقتی نام رو انتخاب کردم به جای اینکه توی سلکت بیاره توی اینپوت بیاره چون هر کالا فقط یک قیمت داره ونیازی به سلکت نیست فکر کنم مشکل حل بشه اینجوری کمک کنید ممنون
0 امتیاز

اول ممنون از شما که وقت میزارید و جواب من رو میدید من کل کد صفحم رو میزارم خودتون ببینید و تغییرات بدید میخام فیلد price رو وقتی انتخاب شد و وقتی فیلد tedad درونش پر شد بدون رفرش در فیلد pricekol دو فیلد قبلی باهم صرب بشن و نتیجش در این فیلد نمایش داده بشه با تشکر

 
<?php
include_once('header.php');
include_once('topmenu.php');
include_once('logo.php');
?>


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
    <head>
    <script type="text/javascript" src="jquery-1.3.2.js"></script>
    <script type="text/javascript">
        $(document).ready(function(){
            $("select#type").attr("disabled","disabled");
            $("select#category").change(function(){
            $("select#type").attr("disabled","disabled");
            $("select#type").html("<option>wait...</option>");
            var id = $("select#category option:selected").attr('value');
            $.post("select_type.php", {id:id}, function(data){
                $("select#type").removeAttr("disabled");
                $("select#type").html(data);
            });
        });
        $("form#select_form").submit(function(){
            var cat = $("select#category option:selected").attr('value');
            var type = $("select#type option:selected").attr('value');
            if(cat>0 && type>0)
            {
                var result = $("select#type option:selected").html();
                $("#result").html('your choice: '+result);
            }
            else
            {
                $("#result").html("you must choose two options!");
            }
            return false;
        });
    });
    </script>
    
     <script type="text/javascript">
        $(document).ready(function(){
            $("select#price").attr("disabled","disabled");
            $("select#type").change(function(){
            $("select#price").attr("disabled","disabled");
            $("select#price").html("<option>wait...</option>");
            var id = $("select#type option:selected").attr('value');
            $.post("select_type1.php", {id:id}, function(data){
                $("select#price").removeAttr("disabled");
                $("select#price").html(data);
            });
        });
        $("form#select_form").submit(function(){
            var cat = $("select#type option:selected").attr('value');
            var type = $("select#price option:selected").attr('value');
            if(cat>0 && type>0)
            {
                var result = $("select#price option:selected").html();
                $("#result").html('your choice: '+result);
            }
            else
            {
                $("#result").html("you must choose two options!");
            }
            return false;
        });
    });
    </script>
    
    

    
    </head>
    <body>
    <div class="art-content-layout">
                <div class="art-content-layout-row">
                    <div class="art-layout-cell art-content">
<div class="art-post">
    <div class="art-post-tl"></div>
    <div class="art-post-tr"></div>
    <div class="art-post-bl"></div>
    <div class="art-post-br"></div>
    <div class="art-post-tc"></div>
    <div class="art-post-bc"></div>
    <div class="art-post-cl"></div>
    <div class="art-post-cr"></div>
    <div class="art-post-cc"></div>
    <div class="art-post-body">
<div class="art-post-inner art-article">
                                <div class="art-postmetadataheader">
                                        <h2 class="art-postheader">
                            <p align="center">فاکتور فروش </p>
                                        </h2>
                    <div class="cleared"></div>
                                                        </div>
                                <div class="art-postcontent">
                                
<?php if(!isset($_SESSION['userid'])) return false;?>          

        <?php include "select.class.php"; ?>
        <pre>
        <form id="select_form">

:شماره فاکتور
<input name="id_kala" type="text" /> <br />    

:تاریخ
<input name="id_kala" type="text" /> <br />

:ساعت
<input name="id_kala" type="text" /> <br />


:کد اشتراک
<input name="id_kala" type="text" /> <br />    


:وضعیت پرداخت
<input name="id_kala" type="text" /> <br />


:وضعیت سفارش
<input name="id_kala" type="text" /> <br />
        
:گروه کالا
<select id="category">
  <?php echo $opt->ShowCategory(); ?>
</select>
<br />

:نام کالا
<select id="type">
 <option value="0">choose...</option>
</select>
<br />
        
:قیمت
<select  name="price"  id="price">
 <option value="0">choose...</option>
</select>
<br />    

:تعداد
<input name="tedad" id="tedad" type="text" /> <br />


        
:قیمت کل
<input name="pricekol" id="pricekol" type="text" /> <br />
        
        
        
<input type="submit" value="ثبت" />
</form>
</pre>
        <div id="result"></div>
        </div>
                <div class="cleared"></div>
                </div>

        <div class="cleared"></div>
    </div>
</div>

    </body>
</html>
<?php
include_once('sidebar.php');
include_once('userprofile_module.php');
include_once('payment_module.php');
include_once('footer.php');
?>

 

 

پاسخ داده شده دی 25, 1392 بوسیله ی 12mory (امتیاز 36)   4 6 9
0 امتیاز

خب قیمت رو که دارید حالا میخواید تعداد رو هم از کاربر بگیرید و در همون لحظه قیمت رو ضربدر تعداد کنید و بهش نشون بدید:


 
 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
    <head>
	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
	
    <script type="text/javascript" src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
    

     
 
     
    </head>
    <body>
	gheymat: <input type="text" id="price" value="20000"> <br />
	
	tedad: <input type="text" id="number"><br />
	jaam: <input type="text" id="jam"><br />
	filed3: <input type="text" id="f3"> <br />
	filed4: <input type="text" id="f4"> <br />
	....
    <div is="dv1">
		<script type="text/javascript">
	function calc()
	{
		$("#jam").val($("#price").val() * $("#number").val());
	}
     $("#price").keyup(function cal(){ calc(); });
     $("#number").keyup(function cal(){ calc(); });
    </script>
    </body>
</html>

به این صورت میشه.

پاسخ داده شده دی 25, 1392 بوسیله ی dousti91 (امتیاز 405)   1 2 9
دوباره نشان داده شد بهمن 17, 1392 بوسیله ی dousti91
من فعلا این نرم افزاررو ندارم به محض نصبش اگر مشکلم حل نشده بود بهتون اطلاع میدم
جا داره اینجا از شما بابت پاسخ هاتون به بنده صمیمانه تشکر کنم
سلام اون مشکلم حل شد نمیدونم چر اینجوریه دفعه قبلم همینجوری شد وقتی کد به کدهای صفحه اضافه میکنم کدهای جدید اضافه شده کار نمیکنن و باید فقط کد های جدید رو در یک صفحه بزارم بعد کدهای قدیمی رو بهشون اضافه کنم تا کار کنن مشکل عجیبیه !
حالا یه مشکل دیگه دارم مشکلم اینه که من طیق کد بالا که گذاشتم و دو کد جاوا اسکریپتی که در head صفحه هستم سه تا سلکت زدم اولش گروه رو میاره بعدیش نام های گروه رو میاره و بعدیش قیمت نام انتخابی رو میاره حالا هر سه اینها با select بود یعنی کمبو باکس حالا این کدی که شما دادید با این کار نمیکنه و حتما باید input یعنی تکس باکس باشه تا کار کنه یا کدی بدید که قیمت تکس باکس بشه یا جوری دیگه کمکم کنید ممنون
اگه بخاید قیمت انتخابی باشه فقط کافیه بجای input، تگ select  قرار بدید و eventListener رو هم از onkeyup به onchange تغییر بدید
منظورتون اینه که این کد $("#price").keyup(function cal(){ calc(); });
بشه $("#price").change(function cal(){ calc(); });
اگر اینطوریه من این کار رو کردم ولی ضرب درست نمیشه و هر عددی در فیلد تعداد میزنم در فیلد مجموع دوبرابرش رو میاره
واقعا ممنون من یه چیزی یاد گرفتم از این کد واسه همین بهترین پاسخ زدم اما همچنان مشکلم حل نشده و هر چی توی تعداد وارد کنم دو برابر میکنه و در جمع نشون میده
توجه کنید که در کدی که من در اول صفحه گذاشتم سه تا سلکت گروه کالا و نام کالا و قیمت را به وسیله دوتا کد جاوا اسکریپت که در هدش هست که در بالا موجوده اوردم (از دیتابیس)
اگر میشه یه راه بیارید که وقتی نام رو انتخاب کردم به جای اینکه توی سلکت بیاره توی اینپوت بیاره چون هر کالا فقط یک قیمت داره ونیازی به سلکت نیست فکر کنم مشکل حل بشه اینجوری کمک کنید ممنون
...