Javascript 如何基于<;选择下拉列表;p>;价值

Javascript 如何基于<;选择下拉列表;p>;价值,javascript,jquery,Javascript,Jquery,单击下拉列表中的“表单编辑”有问题 下拉列表显示第一项。我需要根据教授 html 标题 教授 JQuery $('.title').click(function(){ $(this).replaceWith('<select class="title" name="title"><option >Please Select</option><option value="Mr">Mr</option><option val

单击下拉列表中的“表单编辑”有问题

下拉列表显示第一项。我需要根据
教授

html

标题

教授

JQuery

$('.title').click(function(){
    $(this).replaceWith('<select class="title" name="title"><option >Please Select</option><option value="Mr">Mr</option><option value="Mrs">Mrs</option><option value="Ms">Ms</option><option value="Miss">Miss</option><option value="Dr">Dr</option><option value="Professor">Professor</option><option value="Sir">Sir</option></select>');
});​
$('.title')。单击(函数(){
$(此)。替换为('请选择mrmrsmissdrprofessorsir');
});​

如果您试图在默认情况下选择“professor”(教授),这将实现以下功能:

$('.title').click(function(){
    var target = $(this);
    var text = target.text();
    var select = $('<select class="title" name="title"><option selected="selected">Please Select</option><option value="Mr">Mr</option><option value="Mrs">Mrs</option><option value="Ms">Ms</option><option value="Miss">Miss</option><option value="Dr">Dr</option><option value="Professor">Professor</option><option value="Sir">Sir</option></select>');
    select.find('option[value="' + text + '"]').prop("selected", true);
    target.replaceWith(select);
});
$('.title')。单击(函数(){
var目标=$(此);
var text=target.text();
var select=$(“请选择mrmrsmissdrprofessorsir”);
select.find('option[value=“”+text+“]”]').prop(“selected”,true);
target.replaceWith(选择);
});

如果您试图在默认情况下选择“professor”(教授),这将实现以下功能:

$('.title').click(function(){
    var target = $(this);
    var text = target.text();
    var select = $('<select class="title" name="title"><option selected="selected">Please Select</option><option value="Mr">Mr</option><option value="Mrs">Mrs</option><option value="Ms">Ms</option><option value="Miss">Miss</option><option value="Dr">Dr</option><option value="Professor">Professor</option><option value="Sir">Sir</option></select>');
    select.find('option[value="' + text + '"]').prop("selected", true);
    target.replaceWith(select);
});
$('.title')。单击(函数(){
var目标=$(此);
var text=target.text();
var select=$(“请选择mrmrsmissdrprofessorsir”);
select.find('option[value=“”+text+“]”]').prop(“selected”,true);
target.replaceWith(选择);
});
一种方法:

$('.title').click(function(){
    var pVal = this.innerHTML;
    $(this).replaceWith('<select class="title" name="title"><option selected="selected">Please Select</option><option value="Mr">Mr</option><option value="Mrs">Mrs</option><option value="Ms">Ms</option><option value="Miss">Miss</option><option value="Dr">Dr</option><option value="Professor">Professor</option><option value="Sir">Sir</option></select>');
    $('select.title').val(pVal);
});​
$('.title')。单击(函数(){
var pVal=this.innerHTML;
$(此)。替换为('请选择mrmrsmissdrprofessorsir');
$('select.title').val(pVal);
});​
一种方法:

$('.title').click(function(){
    var pVal = this.innerHTML;
    $(this).replaceWith('<select class="title" name="title"><option selected="selected">Please Select</option><option value="Mr">Mr</option><option value="Mrs">Mrs</option><option value="Ms">Ms</option><option value="Miss">Miss</option><option value="Dr">Dr</option><option value="Professor">Professor</option><option value="Sir">Sir</option></select>');
    $('select.title').val(pVal);
});​
$('.title')。单击(函数(){
var pVal=this.innerHTML;
$(此)。替换为('请选择mrmrsmissdrprofessorsir');
$('select.title').val(pVal);
});​

您需要存储在替换HTML之前单击的段落文本。然后使用jQuery查找您创建的选择列表并设置其值

$('.title').click(function(){
    var $this = $(this),
        selected = $this.text();
    $this.replaceWith('<select class="title" name="title"><option selected="selected">Please Select</option><option value="Mr">Mr</option><option value="Mrs">Mrs</option><option value="Ms">Ms</option><option value="Miss">Miss</option><option value="Dr">Dr</option><option value="Professor">Professor</option><option value="Sir">Sir</option></select>');
    $('.title').val(selected);
});​
$('.title')。单击(函数(){
变量$this=$(this),
selected=$this.text();
$this.replace为('请选择mrmrsmissdrprofessorsir');
$('.title').val(选中);
});​

在fiddle中:

您需要存储在替换HTML之前单击的段落文本。然后使用jQuery查找您创建的选择列表并设置其值

$('.title').click(function(){
    var $this = $(this),
        selected = $this.text();
    $this.replaceWith('<select class="title" name="title"><option selected="selected">Please Select</option><option value="Mr">Mr</option><option value="Mrs">Mrs</option><option value="Ms">Ms</option><option value="Miss">Miss</option><option value="Dr">Dr</option><option value="Professor">Professor</option><option value="Sir">Sir</option></select>');
    $('.title').val(selected);
});​
$('.title')。单击(函数(){
变量$this=$(this),
selected=$this.text();
$this.replace为('请选择mrmrsmissdrprofessorsir');
$('.title').val(选中);
});​

在小提琴中:

我不想一次就把你的
全部附加进去,我想做一些类似的事情。这样,您可以检查默认选项并在其上设置选定属性

$('.title').click(function() {
    var $this = $(this),
        $select = $('<select>'),
        defaultValue = $this.text(),
        options = [
            'Please Select',
            'Mr',
            'Mrs',
            'Ms',
            'Miss',
            'Dr',
            'Professor',
            'Sir'
        ];

    $.each(options, function() {
        var $option = $('<option>');
        $option.text(this);
        $option.val(this);
        if (this == defaultValue) {
            $option.attr('selected', 'selected');
        }
        $select.append($option);
    });

    $this.replaceWith($select);
});​
$('.title')。单击(函数(){
变量$this=$(this),
$select=$(''),
defaultValue=$this.text(),
选项=[
'请选择',
“先生”,
“夫人”,
“女士”,
“小姐”,
“博士”,
“教授”,
“先生”
];
$.each(选项,函数(){
var$期权=$('');
$option.text(本);
$option.val(本);
if(this==defaultValue){
$option.attr('selected','selected');
}
$select.append($option);
});
$this.replaceWith($select);
});​

这里有一个.

我不想一次就把你的
全部添加进去,我想做一些类似的事情。这样,您可以检查默认选项并在其上设置选定属性

$('.title').click(function() {
    var $this = $(this),
        $select = $('<select>'),
        defaultValue = $this.text(),
        options = [
            'Please Select',
            'Mr',
            'Mrs',
            'Ms',
            'Miss',
            'Dr',
            'Professor',
            'Sir'
        ];

    $.each(options, function() {
        var $option = $('<option>');
        $option.text(this);
        $option.val(this);
        if (this == defaultValue) {
            $option.attr('selected', 'selected');
        }
        $select.append($option);
    });

    $this.replaceWith($select);
});​
$('.title')。单击(函数(){
变量$this=$(this),
$select=$(''),
defaultValue=$this.text(),
选项=[
'请选择',
“先生”,
“夫人”,
“女士”,
“小姐”,
“博士”,
“教授”,
“先生”
];
$.each(选项,函数(){
var$期权=$('');
$option.text(本);
$option.val(本);
if(this==defaultValue){
$option.attr('selected','selected');
}
$select.append($option);
});
$this.replaceWith($select);
});​
这里有一个。

你可以像这样做:

$('.title')。单击(函数(){
$(此)。替换为('请选择mrmrsmissdrprofessorsir');
$('.title').val($(this.text());
});​
您可以像这样做:

$('.title')。单击(函数(){
$(此)。替换为('请选择mrmrsmissdrprofessorsir');
$('.title').val($(this.text());
});​
你能使用数组吗

$('.title').on("click", function(){
    var selected = $(this).text();

    var contents = null;
    var options = ['Mr', 'Mrs', 'Ms', 'Miss', 'Dr', 'Professor', 'Sir'];

    for ( i = 0 ; i < options.length ; i++ )
    {
        if ( options[i] == selected )
            contents += '<option value='+ options[i] +' selected="selected">'+ options[i] +'</option>';
        else              
            contents += '<option value='+ options[i] +'>'+ options[i] +'</option>';
    }

    $(this).replaceWith('<select class="title" name="title"><option>Please Select</option>'+ contents +'</select>');
});
$('.title')。在(“单击”,函数(){
所选变量=$(this).text();
var contents=null;
var选项=[“先生”、“太太”、“女士”、“小姐”、“博士”、“教授”、“先生”];
对于(i=0;i
你能使用数组吗

$('.title').on("click", function(){
    var selected = $(this).text();

    var contents = null;
    var options = ['Mr', 'Mrs', 'Ms', 'Miss', 'Dr', 'Professor', 'Sir'];

    for ( i = 0 ; i < options.length ; i++ )
    {
        if ( options[i] == selected )
            contents += '<option value='+ options[i] +' selected="selected">'+ options[i] +'</option>';
        else              
            contents += '<option value='+ options[i] +'>'+ options[i] +'</option>';
    }

    $(this).replaceWith('<select class="title" name="title"><option>Please Select</option>'+ contents +'</select>');
});
$('.title')。在(“单击”,函数(){
所选变量=$(this).text();
var contents=null;
var选项=[“先生”、“太太”、“女士”、“小姐”、“博士”、“教授”、“先生”];
对于(i=0;i
试试这样的方法。这将转换并在选项列表中选择与单击的值相同的值

$('.title').click(function(){
    var selected_item = $(this).html();
    $(this).replaceWith('<select class="title" name="title"><option>Please Select</option><option value="Mr">Mr</option><option value="Mrs">Mrs</option><option value="Ms">Ms</option><option value="Miss">Miss</option><option value="Dr">Dr</option><option value="Professor">Professor</option><option value="Sir">Sir</option></select>');
    $('option:contains("' + selected_item + '")', 'select.title').prop('selected', 'selected');
});​
$('.title')。单击(函数(){
var selected_item=$(this.html();
$(此)。替换为('请选择mrmrsmissdrprofessorsir');
$('option:包含(“+selected_item+”),'select.title').prop('selected','selected');
});​

试试这样的方法。这将转换并在选项列表中选择与单击的值相同的值

$('.title').click(function(){
    var selected_item = $(this).html();
    $(this).replaceWith('<select class="title" name="title"><option>Please Select</option><option value="Mr">Mr</option><option value="Mrs">Mrs</option><option value="Ms">Ms</option><option value="Miss">Miss</option><option value="Dr">Dr</option><option value="Professor">Professor</option><option value="Sir">Sir</option></select>');
    $('option:contains("' + selected_item + '")', 'select.title').prop('selected', 'selected');
});​
$('.title')。单击(函数(){
var selected_item=$(this.html();
$(此)。替换为('请选择mrmrsmissdrprofessorsir');
$('选项:包含