2014-09-12 72 views
2

是否可以带一个contenteditable属性的选择菜单?使用选择内容可编辑元素?

以下:

<select name="letter"> 
    <option value="a">a</option> 
    <option value="b">b</option> 
    <option value="c">c</option> 
</select> 
+0

需要花更多精力来提问。请参阅http://stackoverflow.com/help/how-to-ask – charlietfl 2014-09-12 15:38:24

回答

0

首先,你需要能够根据选择的元素是否它具有contenteditable:一旦CONTENTEDITABLE启用

<p contenteditable="true" name="letter">a</p> 

将成为一个选择选项属性:

$('[contenteditable="true"]') 

例如,

HTML:

<div> 
    <p contenteditable='true'>ajdsflkjasdlfkjasdlfjdklasfD</p> 
</div> 
<div> 
    <p contenteditable='true'>oqewrujfzkljvladswjoaiewnlei</p> 
</div> 
<div> 
    <p contenteditable='true'>2345rtsdghwregg342534tres34</p> 
</div> 
<div> 
    <p contenteditable='true'>a234trey36y34ttgfttqerertuityt</p> 
</div> 
<div> 
    <p contenteditable='true'>1234rgdfs563ju6tref43f5eyrew65htew</p> 
</div> 


的JavaScript:

$(function() { 
    $('[contenteditable="true"]').each(function() { 
     var parent = $(this).parent(), 
      text = $(this).text(), 
      select = function() { 
       var returnstring = ''; 
       for (var i in text) { 
        returnstring += "<option value='" + text[i] + "'>" + text[i] + "</option>"; 
       } 
       return "<select>" + returnstring + "</select>"; 
      }(); 
     $(this).empty(); 
     parent.append(select); 
    }); 
}); 


这里是一个链接到fiddle所以你可以看到我在说什么。