2013-03-18 2 views
1

У меня есть запрос Jscript.выпадающие изменения из другого выпадающего списка с расчетом. Jscript/Ajax?

Я немного поработал и узнал, что AJAX - это только побочный сервер для сценария lfash, который можно использовать в Linux с php. (пожалуйста, исправьте меня, если у меня возникла ошибка)

У меня нет знаний о том, как работают скрипты, так что это новое, я попробовал несколько разных попыток, но не повезло.

У меня есть одна выпадающая шкатулка (Box1) (заполненная из базы данных) У меня есть еще одна коробка (Box2) для вычисления, которое нужно вставить в мою базу данных для других целей использования в других частях сайта hte.

Мне нужен Box2, чтобы изменить фигуру, когда кто-то меняет окно Box1 перед нажатием кнопки отправки.

Я думаю, потому что у меня есть исчисление, это заставляет меня застрять ... Код как показано ниже ... Может кто-то, пожалуйста, помогите мне разобраться (я думаю, мне нужен какой-то скрипт для этого). ..

Box1

<td><p>selection 1</p> 
     <select id="t1_type" name="t1_type"> 

<?php $result = mysql_query("SELECT * FROM `t2` ORDER BY t2_value"); 
while($valuerow = mysql_fetch_array($result)){ 
     echo '<option value="'.$valuerow['t2_name'].'">'.$valuerow['t2_name'].'</option>'; } ?> 

Box2

<input name="t1_value" id="t1_value" value=" 
    <?php 
     $var1 = $row_value['t2_value']; 
     $var2 = $row_dropdown['t1_number']; 
     $total = round ($var2 * $var1); 
     echo "" . $total . ""; 
    ?>" /> 

Я надеюсь, это все, что вам нужно, (дайте мне знать, если потребуется)

Что нужно сделать, это показать новые вычисления, когда кто-то изменяет параметр box1 ПЕРЕД вызовом кнопки отправки, поэтому он отправляет правильный расчет на базы данных для будущего использования.

Я думаю, что это нужно будет очень много «t2_value» от Box2 изменить когда-либо «t2_name изменился с box1.

И еще раз лучше ссылку, чтобы узнать о решении. (Узнал о Присоединяется теперь от моего последнего вопрос !! Почти промежуточный пользователь ;-))

ответ

0

Edit:.

Я видел, что ваш второй ящик был текстовое поле Я считаю, если то проблемы, то вы должны сделать что-то вроде этого

<select id="t1_type" name="t1_type" onchange="change(this);"> 
    <?php 
     $result = mysql_query("SELECT * FROM `t2` ORDER BY t2_value"); 
     while($valuerow = mysql_fetch_array($result)) 
     { 
      echo '<option value="'.$valuerow['t2_name'].'">'.$valuerow['t2_name'].'</option>'; 
     } 
    ?> 
</select> 

Это определяет ваш <select> блок, как вы это делали в своем вопросе. Добавьте событие onChange в свой первый <select>, а затем создайте функцию для обработки до onChange события. Событие onChange срабатывает всякий раз, когда пользователь меняет элемент в элементе <select>.

Javascript:

(поставить эту часть кода выше </head>)

<script language="javascript" type="text/javascript"> 
    function change(element) 
    { 
    // do here whatever you want 
    // you can change the value of the <input> box with : 
    // document.getElementById(element.id).value = your_value 
    // If you want to see if this part works, then try adding this : 
    // alert("It works!"); 
    // If you want to get the text of the item which has been selected in Box1 use : 
    // $("#t1_type option:selected").text(); 

    } 
</script> 

Примечание: потому что PHP является на стороне сервера, вы не можете обновить BOX2 динамически без обновления страницы, Javascript, однако, является клиентской стороной и МОЖЕТ это сделать.

Примечание: код $("#t1_type option:selected").text(); требует, чтобы вы включили библиотеку jQuery в свой скрипт. Обязательно, чтобы преобразовать эту переменную в поплавковой, междунар или дважды, если вы хотите, чтобы вычислить с ним, иначе результат будет давать NaN (не число)

Учебник по включая JQuery Libary: http://docs.jquery.com/Tutorials:Getting_Started_with_jQuery

Если вы 'new для JavaScript, вы должны попробовать некоторые учебные пособия. Те, что на w3Schools.com приветствуют меня много, но некоторые люди говорят, что они не всегда правильны, но в любом случае прочитайте кое-что о Javascript, чтобы на самом деле знать, что вы делаете, вместо кода copypasting :)

+0

Thanks Looks good, Но все еще смущен. Прочитайте W3 (но они действительно не объясняют, что разные элементы Jscript просто показывают идеи и играют с вашим кодом, но, похоже, все еще не поняли его. Я предполагаю, что там, где вы говорите «Рассчитайте свой результат здесь», это означает используя «var value_select_1 = $ ('# select_1'). val();" типа scenerio, как я сделал в PHP с двумя $ VAR? Я буду продолжать искать и играть, чтобы узнать, могу ли я изучить этот новый материал для этой проблемы , но если у вас есть дополнительная помощь, я буду благодарна за вашу помощь. :-) – Rocsha

+0

Итак, если я правильно понимаю, вы хотите, чтобы пользователь выбрал опцию из первого поля '