نمایش نتایج 1 تا 2 از 2

نام تاپیک: مشکل با POST کردن مقدار Select در jQuery

  1. #1
    منتظر تایید آدرس ایمیل
    تاریخ عضویت
    اردیبهشت 1389
    محل زندگی
    San Frabarnamenevisco
    پست
    691

    مشکل با POST کردن مقدار Select در jQuery

    من برای ارسال مقدار SELECT توسط jQuery به سرور پس از تغییر آن (onchange) از کد زیر استفاده کرده ام ولی کار نمی کند (!) :


    <!DOCTYPE html>
    <html>
    <head>
    <script language="javascript" src="jquery.min.js" type="text/javascript"></script>
    <script type="text/javascript">
    $(document).ready(function(){
    function getA(name) {
    $.post('index.php', {a: name});
    }
    });
    </script>
    </head>
    <body>
    <p>
    <select name="a" onchange="if(this.value != '/') getA(this.value);">
    <option value="/" selected="selected">/</option>
    <?php
    $result = @mysql_query("SELECT * FROM aaa GROUP BY aaaname");
    while($row = @mysql_fetch_array($result)) {
    echo "<option value=\"$row[aaaname]\">$row[aaaname]</option>";
    }
    ?>
    </select>
    </p>
    <p>
    <?php
    if(isset($_POST['a'])){
    $aname = $_POST['a'];
    $result = @mysql_query("SELECT * FROM aaa WHERE aaaname = '$aname'");
    while($row = @mysql_fetch_array($result)) {
    echo "SOME THING... $row[bbbname]";
    }
    }
    ?>
    </p>
    </body>
    </html>


    میشه اشکالش رو به من بگید؟

    متشکرم
    آخرین ویرایش به وسیله LORD AELX : سه شنبه 19 مرداد 1389 در 19:56 عصر

  2. #2

    نقل قول: مشکل با POST کردن مقدار Select در jQuery

    سلام.
    کدی که نوشته اید با Unobtrusive JavaScript در تضاد هستش. در حقیقت شما کدهای HTML و JavaScript رو با هم ترکیب کرده اید. کد شما کار نمیکنه، چون function مربوطه رو در scope نادرستی تعریف کرده اید...

    روش صحیح انجام این کار (جدا از مساله Namespace ها) این هستش:

    $(function () {
    $('select').change(function () {
    var value = $(this).val();
    if (value != '/') {
    $.post('index.php', { a: value });
    }
    });
    });


    ضمنا این بخش رو

    onchange="if(this.value != '/') getA(this.value);"
    از روی Element خودتون در HTML حذف کنید.

    موفق باشید.

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •