小编Stu*_*len的帖子

jQuery:根据文本设置选择列表'selected',奇怪地失败了

我一直在使用以下代码(使用jQuery v1.4.2)根据"text"描述而不是"value"来设置选择列表的"selected"属性:

$("#my-Select option[text=" + myText +"]").attr("selected","selected") ;
Run Code Online (Sandbox Code Playgroud)

这段代码工作正常,直到我注意到一个选项列表失败,这取决于匹配的文本.经过一些拉毛后,我意识到只有在文本是一个单词的情况下才会失败(没有空格,没有非字母字符).(我以前对此代码的所有使用都适用于仅包含多字化学名称的选择列表.)

例如,在一个选择列表中,它适用于:
pharbitic acid
25-D-
spirosta -3,5-diene pogostol(#Pogostemon#)

它失败了:
葡萄糖
腺嘌呤

我试过任何方式,我可以想到用引号(单一和双)包围文本变量无济于事.(但是,当一个双字短语没有时,为什么一个单词需要引用?)

我试过在那里硬编码文本并得到相同的结果.

这有效:

$("#constituent option[text=#a#-allocryptopine]").attr('selected', 'selected');
Run Code Online (Sandbox Code Playgroud)

这有效:

$("#constituent option[text=5-O-methylrisanrinol]").attr('selected', 'selected');
Run Code Online (Sandbox Code Playgroud)

不起作用:

$("#constituent option[text=adenine]").attr('selected', 'selected');
Run Code Online (Sandbox Code Playgroud)

我试着用硬编码引号.这不起作用:

$("#constituent option[text='glucose']").attr('selected', 'selected');
Run Code Online (Sandbox Code Playgroud)

我无法使用硬编码引号(单或双)来处理任何文本.

值得注意的是,使用'value'属性时引用是可以接受的.例如,这两个都很好:

$("#constituent option[value='3']").attr('selected', 'selected');

$("#constituent option[value=3]").attr('selected', 'selected');
Run Code Online (Sandbox Code Playgroud)

下面是一些演示此问题的代码.两个选择列表,第一个由简单的单词组成,两个单词短语中的第二个.页面加载时,它会尝试设置每个选择列表的值.jQuery代码适用于第二个列表但不适用于第一个列表.(我尝试在'猴子'中放一个空格来获得'mon key',它有效!)

下面的代码的工作演示是在这里.

我非常感谢能够洞察我在这里做错了什么.甚至是使用'text'属性的替代选择器语法.提前感谢所有有时间提供帮助的人.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> 

<head>

  <script type="text/javascript" src="../js/jquery/jquery.js"></script>

  <script type="text/javascript">

  $(document).ready(function(){

    var text1 = 'Monkey'; …
Run Code Online (Sandbox Code Playgroud)

javascript jquery

51
推荐指数
3
解决办法
15万
查看次数

R中的seq()函数管道运算符%>%错误

我是一个大风扇%>%从运营商magrittr/ dplyr并使用它只要有可能.但是,我遇到了问题,用它来管道seq()功能.

作为一个简单的例子,假设我有一个变量x,我想从创建序列x-5x+5.我可以这样做:

> x <- 10
> seq(from = x-5, to = x+5, by = 1)
 [1]  5  6  7  8  9 10 11 12 13 14 15
Run Code Online (Sandbox Code Playgroud)

但对于我的生活,我不能让它与管道正常工作.为了演示,让我稍微谈谈这个问题.假设x <- 10.

管道在某些情况下工作......

下面的示例以静默方式10传递给from参数,并使用.和一些算法将to参数设置为15,10:15按预期给出序列.

> x %>% seq(.+5)
[1] 10 11 12 13 14 15
Run Code Online (Sandbox Code Playgroud)

我可以显式设置如下from参数,它也给出了相同的预期结果(10:15):

> x %>% …
Run Code Online (Sandbox Code Playgroud)

r pipe dplyr

9
推荐指数
1
解决办法
463
查看次数

标签 统计

dplyr ×1

javascript ×1

jquery ×1

pipe ×1

r ×1