当我在选择框中选择使用jQuery更新标题时,我可以这样做吗?

时间:2012-07-28 07:25:00

标签: jquery

我有:

<select name="TopicID" id="TopicID">
  <option value="00">XX</option>
  <option value="02">YY</option>
</select>

我怎样才能做到这一点,当用户选择一个新的值,例如“YY”时,选择的标题会像这样更新:

<select title="YY" name="TopicID" id="TopicID">
  <option value="00">XX</option>
  <option value="02">YY</option>
</select>

6 个答案:

答案 0 :(得分:2)

$("#TopicID").on("change", function() {
    var select = $(this);
    select.attr("title", select.find(":selected").text());
});

example

答案 1 :(得分:2)

您可以绑定到change事件并更新title属性:

$("select").change(function() {
    $(this).attr("title", $("option:selected", this).text());
});

请注意,上面的代码使用attr()而不是prop()来强调我们正在创建或更新HTML属性而不是DOM属性。这只是一个偏好问题,使用prop()会导致相同的行为。

答案 2 :(得分:1)

试试这个:

$('#TopicID').change(function () {
    $(this).attr('title', $('#TopicID option[value="' + this.value + '"]').text());
});

现场查看http://jsfiddle.net/MAhmadZ/PpjwT/

答案 3 :(得分:0)

也许是这样的:

$('#TopicID').change(function() {
    var selectedItem = $(this).val();
    $(this).attr('title', selectedItem);
});

答案 4 :(得分:0)

它不是jquery但应该这样做。将以下代码的第一行添加到您的控件中 在脚本中添加后面的函数

onchange="SetTitle(this,this.value);"
function SetTitle(cntrl,val)
{
cntrl.setAttribut("title",val);
}

答案 5 :(得分:0)

var newtitle=$('#TopicID').val();
$('#TopicID').attr('title',newtitle);