【问题标题】:JQuery trying to insert html of h3 into a DDL dynamically?JQuery试图将h3的html动态插入DDL?
【发布时间】:2010-09-01 22:30:04
【问题描述】:

还有一点我卡住了

$("div.evenprop .locname").each(function() { $("#ctl00_dd1 option").val(".locid").html($(this).clone()); });​

<select id="ctl00_dd1" name="ctl00$dd1">
<option value="HANW"></option>
<option value="HEYD"></option></select>

<div style="displaY: none;"> <div class="evenprop"><h3 class="locname">Hanworth</h3><span class="locid" style="display:none">HANW</span></div> <div class="evenprop"><h3 class="locname">Heydon</h3><span class="locid" style="display:none">HEYD</span></div> </div>​​​​​​​​​​

我有一个下拉列表,其中包含两个项目和值“HANW”和“HEYD”任何意义?

DDL 的最终结果应该是这样的

<select id="ctl00_dd1" name="ctl00$dd1"><option value="Hanworth"></option><option value="Heydon"></option></select>

谢谢

杰米

【问题讨论】:

    标签: javascript jquery html drop-down-menu


    【解决方案1】:

    为什么你要这样做?它不能按照它需要的方式呈现在服务器上吗?整个过程在这里似乎很迂回,我建议你重新设计整体方法。话虽如此,如果有正当理由这样做,这将完成这项工作:

    $("div.evenprop .locid").each(function() { 
      $("#ctl00_dd1 option[value='" + $(this).text() + "']").text($(this).prev().text()); 
    });​
    

    You can give it a try here,这里有一个更高效但不那么简洁的版本:

    var opts = $("#ctl00_dd1 option");
    $("div.evenprop .locid").each(function() { 
      var locid = $(this).text();
      opts.filter(function() { return this.value == locid; }).text($(this).prev().text()); 
    });​
    

    You can give it a try here

    【讨论】:

    • @Jamie - 你是在document.ready 处理程序中运行它吗?它可以在 Chrome 中运行,所以它应该也可以在 Safari 中运行。
    • 我在 document.ready 里面运行这个在 Chrome 上不起作用?如果有帮助,我在 Mac 上?
    • 对不起,我有两个相同的功能,搞砸了!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-12-20
    • 2013-05-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多