【问题标题】:adding value and name to select box将值和名称添加到选择框
【发布时间】:2013-03-05 11:35:44
【问题描述】:

<?php
$sql = "SELECT `docid`, `fullname` FROM `doctors` ORDER BY fullname ASC";
$result = $database->query($sql) or die('cannot connect to the database');

while($row = mysql_fetch_array($result))
{
echo"<option value= ".$row['docid'].">".$row['fullname']."</option>";
}
?>  

这是我通过数据库表填充的选择框。

$('.sheUpdate').click(function(){   

    var deptment = $(this).attr('dptname');
    var deptid   = $(this).attr('dptid');

    i want to make this one as SELECTED ITEM ON THE Select box  
    $("#Deptmentselectbox").prepend('<option value='+deptid+'>'+deptment+'</option>')

});

这是我的 jquery 代码。当我单击“.sheUpdate”链接时,我使用 attr 函数获取了几个值。我正在获取部门名称和部门值,我想将它们显示为选择框中的选择项

【问题讨论】:

  • 你的 .sheUpdate 类在哪里?
  • 您遇到什么错误?调试时会发生什么?
  • attr() 仅用于 HTML 属性。
  • 我可以将该选项视为列表中的第一项。但我想在选择框中显示它而不是“选择您的部门”..这用于更新部门。
  • 如果我错了,请纠正我。默认情况下,您的选择框有一个条目select your dept,您希望在选择第一个元素时将其删除。是这样吗?

标签: php jquery


【解决方案1】:

我认为我们需要查看更多代码才能提供适当的帮助。 .sheUpdate 类元素的html代码是什么?

此链接元素实际上是否具有属性 dptname 和 dptid?

您在#Deptmentselectbox 上使用的代码是什么?

【解决方案2】:

您添加的代码运行正常。 只需要将新添加的元素设置为选中即可。

please check this fiddle 另外请告诉我,如果你写这篇文章,你会得到什么价值

alert($(this).attr('dptname'));
alert($(this).attr('dptid'));


$('.sheUpdate').click(function(){   

    var deptment = $(this).attr('dptname');
    var deptid   = $(this).attr('dptid');   
    $("#Deptmentselectbox").prepend('<option value='+deptid+'>'+deptment+'</option>')
    $("#Deptmentselectbox").get(0).selectedIndex = 0;
    // OR $("#Deptmentselectbox").val(deptid);
});

【讨论】:

  • 我看到了你的小提琴。告诉我如何将前置选项作为选定的选项而不是像这样使用 $("#Deptmentselectbox").prepend('') $("#部门选择框").val(部门)
  • $('#Deptmentselectbox').get(0).selectedIndex = 0;或 $("#Deptmentselectbox").val(deptid)
  • 创建一个 JS fiddle 并发送一个链接,这样我们就可以准确地检查出了什么问题。添加一些虚拟数据,而不是从服务器获取。
  • 添加第一个代码段中缺少的
  • K D 完美运行。非常感谢..我希望我能投票..我的声誉很低
【解决方案3】:

假设你的初始选择框是这样的:

<select id="Deptmentselectbox">
    <option value=''> Select a department </option>
</select>

删除第一个选项的占位符:

$('.sheUpdate').click(function(){   
    var deptment = $(this).attr('dptname');
    var deptid   = $(this).attr('dptid');   
    if($("#Deptmentselectbox").val() == '')
     $("#Deptmentselectbox").html('<option value='+deptid+'>'+deptment+'</option>');
    else
     $("#Deptmentselectbox").prepend('<option value='+deptid+'>'+deptment+'</option>');
    $("#Deptmentselectbox").val(deptid);
}

【讨论】:

    【解决方案4】:

    这是一个解决方案,希望对您有所帮助

       $(document).ready(function(){
        $("#test1").click(function(){
            var data = $("#t").val();
            var data1 = $("#r").val();
            $("#try").prepend('<option value='+data+' selected="selected">'+data1+'</option>');
        });
    
       });
    

    Click Here For Demo

    【讨论】:

    • 不工作,因为前置项目不是选择框 Roger 上的 SELECTED 项目
    • @AhmedYaser:更新了我的链接和答案。请检查。如果你想要,请告诉我
    猜你喜欢
    • 2017-07-01
    • 2018-07-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-17
    • 2014-09-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多