2015-02-06 104 views
0

我已经在XAMPP服务器上使用PHP,MySQL创建了联系人数据库。 该页面通过“联系人”表格添加,编辑&删除按钮打开。 添加&删除工作正常。 编辑按钮将打开所有通常的输入,其与使用从表行的值填充在一个模态形式...从PHP选择元素的默认值

$("#dlgeditContactName").val(ContactName); 
$("#dlgeditEmail").val(Email); 

还有一个选择元件(接触型),其使用PHP填充...

<?php 

$conn = new mysqli('xxxx', 'xxxx', 'xxxx', 'xxxx') or die ('Cannot connect to db'); 

    $result = $conn->query("select contacttypeid, contacttype from tblcontacttypes"); 

    echo "<select id = 'dlgeditcontacttypeid'>"; 

    while ($row = $result->fetch_assoc()) { 
     unset($id, $name); 
     $id = $row['contacttypeid']; 
     $name = $row['contacttype']; 
     echo '<option value = "'.$id.'">'.$name.'</option>'; 
    } 
    echo "</select>"; 

?> 

的contacttypeid & contacttype是int和字符串如。 1,个人 2,家庭 等

目前预期和用户可以选择在编辑过程中的一个选项这个选择框的行为。

我只是不知道如何根据表格行中的值设置默认值的最佳方式。 填补其他输入元素很简单,但使用的选择不起作用以下...

$("#dlgeditcontacttypeid").val(ContactTypeID); 

我想我将不得不使用“选择”在...

<option value="audi" selected>Audi</option> 

(来自W3Schools),但不知道这是最好的,甚至不知道如何去做。

我想到了一个隐藏的股利与ID的形式,但没有运气获得价值PHP

我试图把一些Java的PHP里面...

echo "<script> function(); </script>"; 

,但它看起来“凌乱',我不相信这是最好的办法

这个问题必须有一个标准的方法 - 任何人都必须处理这个问题?

回答

0

这是你在找什么:(!这是值得怀疑的)

$ContactTypeID = 2; //Considering you have default value with you. 

while ($row = $result->fetch_assoc()) { 
    unset($id, $name); 
    $id = $row['contacttypeid']; 
    $name = $row['contacttype']; 

    if($id == $ContactTypeID) //If default value and id in loop are same 
    echo '<option value = "'.$id.'" selected="selected">'.$name.'</option>'; 
    else 
    echo '<option value = "'.$id.'">'.$name.'</option>'; 
} 
+0

如果我理解这一点,我不认为我有PHP中的默认值,这是我的问题的症结所在所以我不能使用--- $ ContactTypeID = 2; //考虑到你有默认值。 我可以在打开编辑表单之前从表格行中获取它,但是如何将其获取到PHP进行比较? 我希望我没有误解过一些非常简单的东西,并给你带来了不必要的悲伤。 – 2015-02-06 11:35:57

+0

如果$(“#dlgeditContactName”)。val(ContactName);这对你的工作比$(“#dlgeditcontacttypeid”)。val(ContactTypeID);这也应该工作。确保选择框元素ID'dlgeditcontacttypeid'不存在于表单中的其他位置。或者尝试更改选择框elemnet Id以确保它不是任何其他元素ID的副本。 – Ruprit 2015-02-06 11:48:43

+0

感谢您对此Pritzzz的帮助。 \t 我想$(“#dlgeditContactName”)。val(ContactName);为我工作,因为它是直的HTML。 我没有得到的是如何发送HTML值($(“#dlgeditcontacttypeid”)。VAL(ContactTypeID); )转换成PHP代码进行比较。 我认为这很简单,就像在PHP调用期间获取HTML元素值一样。 也许我需要一个POST或GET发送值到PHP。 我已经从表中发送ID到其他表单元素没有问题。 – 2015-02-06 12:11:23