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

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

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

    مشکل با 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 در 20:26 بعد از ظهر

  2. #2
    مدیر کل سایت آواتار mehdi.mousavi
    تاریخ عضویت
    خرداد 1386
    پست
    6,381
    تشکر کردن
    120
    6,816 بار تشکر شده در 2,859 پست

    نقل قول: مشکل با 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 حذف کنید.

    موفق باشید.

  3. کاربرانی که به خاطر مطلب مفید mehdi.mousavi از وی تشکر کرده‌اند:


بوک مارک کردن این تاپیک

بوک مارک کردن این تاپیک

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

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