单击按钮可更改文本输入的文本



我在Codeigniter控制器中有这部分代码,名为'ajaxcalls':

public function show_contact_persons($client_id) {
        $data['contact_persons'] = $this->common_model->select_records('ci_contact_persons', 'client_id', $client_id);
        //dump($data);
    function echoArray ($array) {
        foreach ($array as $key => $value)
        {
            if ( true == is_array($value) )
            {
               echoArray($value);
            }
            else
            {
                if ($key == 'contact_person_name') {
                    echo '<input type="button" value="'.$value.'" onclick="changeContact(987)" /><br />';
                }
            }
        }
    }
    echoArray($data);
}

然后是调用PHP文件的页面上的JS部分:

function changeContact(contact_name) {
             document.getElementById('contact_person').value = contact_name;
        }

我在这个例子中输入了数字"987",因为代码仅适用于 NUMBERS。当我把文本放在括号里时,或者我真正想做的事情:

onclick="changeContact('.$value.')"

然后脚本不起作用。只有数字。我应该更改什么才能使其与字符串一起使用?

你非常接近。

请改用这个:

onclick="changeContact("'.$value.'")"

发生的事情是JS将其渲染为changeContact(stringValue);因此它期望它是一个定义的变量。

添加引号会将其作为字符串传递到函数中,该字符串将呈现为: changeContact("stringValue");

最新更新