选择时,将值分配给php上的textbox

时间:2014-10-22 10:19:09

标签: javascript php jquery html

我正在慢慢理解PHP,但这个让我难过。 我正在用PHP中的数据填充'select'HTML元素.....     while($ row = mysql_fetch_array($ result))     一切都很好,我理解为什么。 我只是想在选择时填写页面上的其他文本框。 在http://jsfiddle.net/TPE9r/5/有一个非常有用的小提琴,但它不使用PHP。 这是我的代码的一部分...

while($row = mysql_fetch_array($result)){
    echo '<option value=" ',$row['ContactID'],' ">', $row['ContactName'],' -- ',    $row['BusinessName'],
'</option>';}

抱歉格式化 - 这里的新内容也... 我在小提琴中使用了类似的JavaScript但我无法在文本框中显示$ row ['ContactName']或$ row ['BusinessName']。我可以使用普通的HTML选择执行此操作,但不能在行处于“while循环”

时执行此操作

4 个答案:

答案 0 :(得分:0)

因为你试图做某事,应该以其他方式做什么。

while循环中,您正在推出options html标记。

为了做到这一点,我认为,最好的做法是,如果你从结果中构建一个数组,那么你可以在以后使用它,如果你想用PHP做的话。

代码未经过测试。

echo '<select name="whatever">';
$results = array();
while($row = mysql_fetch_array($result)){
    //Storing all the rows in an array
    $results[] = $row;
}
for($i=0;$i < count($results); $i++) {
    echo '<option value=" ',$results[$i]['ContactID'],' ">', $results[$i]['ContactName'],' -- ',    $results[$i]['BusinessName']."</option>";
}
echo '</select>';
//And now you can youse your $resuls array more then one time.
$key = 0;
//The key is based on, wich data you need.
//Maybe you want to set it in the loop with an if condition
echo '<input type="text" value="'.$results[$key]['ContactName'],' -- ',    $results[$key]['BusinessName'].'" />';

答案 1 :(得分:0)

最后,解决了这个 - 也许不是最好的方式,但它可能会帮助别人。 我在$(this).find(':selected').data('id')中使用了onchange .... 并在循环中使用data-attributes

for($i=0;$i < count($results); $i++) {
echo '<option data-id="'.$results[$i]['ContactID'],' " data-bn="'.$results[$i]['BusinessName'],' " >'. $results[$i]['ContactName']. 

"</option>";

和3个文本框,其id为bb,cc,dd ....

price2= this.value;
price1 = $(this).find(':selected').data('id')
price3 = $(this).find(':selected').data('bn')

$('#bb').val(price1);
$('#cc').val(price2);
$('#dd').val(price3);

循环中的单引号和双引号有点棘手,但是'嘿,这就是我们所做的!'

答案 2 :(得分:0)

尝试发布我自己的答案 - 在此处格式化时遇到问题。

循环应该是

for($ i = 0; $ i&lt; count($ results); $ i ++){ 回声&#39;。 $结果[$ I] [&#39;联系人姓名&#39]。

&#34;&#34 ;;

OOPS !!!!!再做一次 - 循环代码被截断 - 不知道为什么

答案 3 :(得分:-1)

请改用它。您不需要选项的值,而是文本。

$('#job_title').live('change', function(){    
    var b = $(this).text();           
    $('#catch_value').val(b);
    return false;
});