2010-08-13 59 views
3

我有以下代码,我没有访问权限。编辑第一个选项名称

我想要做的是将一些文本添加到现在为空的第一个选项。某些文本,如 “选择地址”

<select name="My_Saved_Billing" 
onChange="Choose_My_Saved_Billing(this.selectedIndex)" style="background-color:#EEEEEE"> 
<option></option> 
<option value="1394">text</option> 
</select> 
+0

'的onChange ='?好恶! – strager 2010-08-13 04:38:30

回答

10
$('select[name=My_Saved_Billing] > option:first-child') 
    .text('Select Address'); 

如果你想找到空选项(S),而不只是第一个,使用方法:

$('select[name=My_Saved_Billing] > option:empty') 
// or 
$('select[name=My_Saved_Billing] > option:empty:first') 

要获得特定内容的选项,使用:

$('select[name=My_Saved_Billing] > option:contains(texthere)') 
+0

这很好,只是一个侧面的问题是,如何自动选择具有值的第一个选项或选项文本中的哪一个更容易编码。 – user357034 2010-08-13 04:46:01

+0

@ user357034,我建议将初始选择器存储在变量中。这样,无论文本是否更改,您都可以获得相同的项目。 – strager 2010-08-13 04:50:20

+0

我不明白你以前的评论。或者我可能没有完全解释自己。现在有两个选项,第一个最初是空的,第二个有一个值和文本。如果没有任何选项与值或文本我们将如何更改第一个选项来说出其他内容而不是“选择地址”,如“输入地址”我假设我们必须检查所有选项值是否为空或文本= “” – user357034 2010-08-13 04:59:24

7
$("select[name=My_Saved_Billing] option:first").text("Select Address"); 

演示:http://jsfiddle.net/VGhdX/

从您的评论回答你身边的问题(如果我理解正确的话):

怎么会自动选择 有价值的第一个选项或者 选项文本以较容易的为准 代码

您可以使用Has Attribute Selector做到这一点:

$("select[name=My_Saved_Billing] option[value]:first").text("Foo"); 

的有属性选择器会忽略它包含空值(所以value=""匹配)存在的属性。

+0

这个也工作得很好。两个正确的答案,我该如何选择? LOL – user357034 2010-08-13 04:49:13

+0

问题是我不知道文中会出现什么。有没有像.text(!=“”) – user357034 2010-08-13 05:03:19

+0

@ user357034尝试选项[文本!='']:第一个' – karim79 2010-08-13 05:15:02

相关问题