2013-08-29 105 views
2

我發現此代碼,只是想知道如何插入具有不同名稱和值的新輸入框。添加新的輸入框

這是當前的代碼,我有:[編輯]

public function form($instance) 
{ 
    $user_id = isset ($instance['user_id']) ? $instance['user_id'] : array(); 
    $user_id_num = count($user_id); 
    $user_id[ $user_id_num + 1 ] = ''; 
    $user_loc = isset ($instance['user_loc']) ? $instance['user_loc'] : array(); 
    $user_loc_num = count($user_loc); 
    $user_loc[ $user_loc_num + 1 ] = ''; 
    $user_html = array(); 
    $user_id_counter = 0; 
    $user_loc_counter = 0; 

    foreach ($user_id as $name => $value) 
    { 
     $user_html[] = sprintf(
      'User ID<br/><input type="text" name="%1$s[%2$s]" value="%3$s" class="widefat">Location<br/><input type="text" name="%1$s[%2$s]" value="%3$s" class="widefat">', 
      $this->get_field_name('user_id'), 
      $user_id_counter, 
      esc_attr($value), 
      $this->get_field_name('user_loc'), 
      $user_loc_counter, 
      esc_attr($value) 
     ); 
     $user_id_counter += 1; 
     $user_loc_counter += 1; 
    } 

    print 'New User' . join('<br />', $user_id_html); 
} 

這段代碼所做的就是將自動生成新的輸入字段用戶ID一旦設置將被保存。

我的問題是我如何能夠插入新的輸入字段位置user_loc旁邊用戶ID場,這樣,當我進入新用戶ID位置將產生2個新的輸入字段爲用戶ID位置

我想添加節目像這樣的代碼:如果你希望他們並排側,那麼你將不得不換

Location<br/> <input type="text" name="%1$s[%2$s]" value="%3$s" class="widefat"> 

下一步

User ID<br/><input type="text" name="%1$s[%2$s]" value="%3$s" class="widefat"> 

回答

0

每個在一個div(保持提示與使用CSS調整的每個輸入廣告對齊(否則使用表格)。然後您需要調整您的php代碼:

$user_id_html[] = sprintf(
    '<div>User ID<br/><input type="text" name="%1$s[%2$s]" value="%3$s" class="widefat"></div><div>Location<br/> <input type="text" name="%1$s[%2$s]" value="%3$s" class="widefat">', 
    $this->get_field_name('user_id'), 
    $user_id_counter, 
    esc_attr($value), 
    //--- add the extra parameters for the location 
); 
+0

好吧我認爲我現在想到了..我編輯了上面的代碼,現在顯示了位置的新輸入字段,但用戶ID上的值顯示了位置的值。 :( –

+0

查看頁面的源代碼,並在這裏發佈相關代碼 – jeff

+0

我在小工具管理員,這是什麼顯示在源代碼中

\t
New UserUser ID
Location
\t
\t
' –