jQuery函数 - 设置String参数

时间:2016-10-21 11:08:03

标签: javascript jquery

我正在创建一个网页,每当我点击由以下代码生成的生成表格的一行时,我想发出警报。为了做到这一点,我使用setAlert(消息)函数。 我的问题是它只在设置为函数的参数是整数时才有效。当它是一个字符串时它不起作用。 帮我解决这个问题。

谢谢。

@Component( provide = MailboxListener.class, properties = { "service.ranking = 10"})
public class LogMailboxListener implements MailboxListener {
    private final AtomicReference<Log> logRef = newAtomicReference <Log> () ;

    public void messagesArrived ( String mboxName, Mailbox mbox, long [ ] ids ) {
        Log log = logRef.get();
        if (log != null ) 
            log.log(Log.INFO, ids.length + "message(s) arrived in mailbox " + mboxName, null);
        else
            System.err.println("No log available!");
    }

    @Reference( service = Log.class, dynamic = true, optional = true )
    public void setLog(Log log) {
        logRef.set(log);
    }

    public void unsetLog(Log log) {
        logRef.compareAndSet(log, null);
    }
}

1 个答案:

答案 0 :(得分:3)

这里的问题是您将参数传递到setAlert函数而不定义引号。现在,因为您使用&#34; 来定义onClick并使用&#39; 来制定html,您需要使用撇号转义传递参数 \&#39;

目前,如果post['itm_code']为1,则会生成以下带有效javascript的html:

<tr onClick="setAlert(1)"><td>

但是如果post['itm_code']是一个字符串&#34;我的字符串&#34;,它将使用无效的javascript呈现以下html:

<tr onClick="setAlert(my string)"><td>

以下一行:

<tr onClick="setAlert('+post['itm_code']+')"><td>

应更改为:

<tr onClick="setAlert(\''+post['itm_code']+'\')"><td>